Commit 089af21ad217d217e0c52af2d19fc59a760c1301
Exists in
master
and in
5 other branches
Merge branch 'dev' of https://github.com/amadeusproject/amadeuslms into dev
Showing
7 changed files
with
52 additions
and
93 deletions
Show diff stats
core/forms.py
... | ... | @@ -15,31 +15,7 @@ class RegisterUserForm(forms.ModelForm): |
15 | 15 | |
16 | 16 | def validate_cpf(self, cpf): |
17 | 17 | cpf = ''.join(re.findall('\d', str(cpf))) |
18 | - # print(cpf) | |
19 | - | |
20 | - # if (not cpf) or (len(cpf) < 11): | |
21 | - # return False | |
22 | - | |
23 | - # #Get only the first 9 digits and generate other 2 | |
24 | - # _int = map(int, cpf) | |
25 | - # integer = list(map(int, cpf)) | |
26 | - # new = integer[:9] | |
27 | - | |
28 | - # while len(new) < 11: | |
29 | - # r = sum([(len(new) + 1 - i)* v for i, v in enumerate(new)]) % 11 | |
30 | - | |
31 | - # if r > 1: | |
32 | - # f = 11 - r | |
33 | - # else: | |
34 | - # f = 0 | |
35 | - # new.append(f) | |
36 | - | |
37 | - # #if generated number is the same(original) the cpf is valid | |
38 | - # new2 = list(new) | |
39 | - # if new2 == _int: | |
40 | - # return cpf | |
41 | - # else: | |
42 | - # return False | |
18 | + | |
43 | 19 | if cpfcnpj.validate(cpf): |
44 | 20 | return True |
45 | 21 | return False | ... | ... |
core/templates/base.html
core/templates/register_user.html
... | ... | @@ -8,11 +8,16 @@ |
8 | 8 | |
9 | 9 | |
10 | 10 | {% block content %} |
11 | - {% if message %} | |
12 | - <div class="alert alert-danger"> | |
13 | - {{message}} | |
14 | - </div> | |
15 | - {% endif %} | |
11 | + {% if messages %} | |
12 | + {% for message in messages %} | |
13 | + <div class="alert alert-{{ message.tags }} alert-dismissible" role="alert"> | |
14 | + <button type="button" class="close" data-dismiss="alert" aria-label="Close"> | |
15 | + <span aria-hidden="true">×</span> | |
16 | + </button> | |
17 | + <p>{{ message }}</p> | |
18 | + </div> | |
19 | + {% endfor %} | |
20 | + {% endif %} | |
16 | 21 | <div class="row logo-row"> |
17 | 22 | <div class="col-lg-offset-2 col-lg-9"> |
18 | 23 | <img src="{% static 'img/amadeus.png' %}" class="img-responsive center-block " alt="logo amadeus" id="logo"> |
... | ... | @@ -81,5 +86,4 @@ |
81 | 86 | </div> |
82 | 87 | |
83 | 88 | <br clear="all" /> |
84 | - <script src="{% static 'js/base/amadeus.js' %}"></script> | |
85 | 89 | {% endblock %} | ... | ... |
users/forms.py
... | ... | @@ -27,25 +27,6 @@ class ProfileForm(forms.ModelForm): |
27 | 27 | } |
28 | 28 | |
29 | 29 | class UserForm(RegisterUserForm): |
30 | - def save(self, commit=True): | |
31 | - super(UserForm, self).save() | |
32 | - | |
33 | - if not self.instance.image: | |
34 | - self.instance.image = os.path.join(os.path.dirname(settings.BASE_DIR), 'uploads', 'no_image.jpg') | |
35 | - | |
36 | - self.instance.set_password(self.cleaned_data['password1']) | |
37 | - self.instance.save() | |
38 | - | |
39 | - if self.instance.is_staff: | |
40 | - assign_role(self.instance, 'system_admin') | |
41 | - elif self.instance.type_profile == 2: | |
42 | - assign_role(self.instance, 'student') | |
43 | - elif self.instance.type_profile == 1: | |
44 | - assign_role(self.instance, 'professor') | |
45 | - | |
46 | - self.instance.save() | |
47 | - | |
48 | - return self.instance | |
49 | 30 | |
50 | 31 | class Meta: |
51 | 32 | model = User |
... | ... | @@ -59,6 +40,7 @@ class EditUserForm(forms.ModelForm): |
59 | 40 | |
60 | 41 | # Ailson |
61 | 42 | class UpdateUserForm(forms.ModelForm): |
43 | + company_logo = forms.ImageField(label=_('Company Logo'),required=False, error_messages = {'invalid':_("Image files only")}) | |
62 | 44 | |
63 | 45 | class Meta: |
64 | 46 | model = User | ... | ... |
users/templates/users/create.html
... | ... | @@ -60,8 +60,8 @@ |
60 | 60 | {% render_field field class='form-control' %} |
61 | 61 | {% endif %} |
62 | 62 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
63 | - {% if field.errors.length > 0 %} | |
64 | - <div class="alert alert-danger alert-dismissible" role="alert"> | |
63 | + {% if field.errors %} | |
64 | + <div class="alert alert-danger alert-dismissible col-md-offset-4 col-md-8" role="alert"> | |
65 | 65 | <button type="button" class="close" data-dismiss="alert" aria-label="Close"> |
66 | 66 | <span aria-hidden="true">×</span> |
67 | 67 | </button> | ... | ... |
users/templates/users/update.html
... | ... | @@ -46,18 +46,14 @@ |
46 | 46 | </button> |
47 | 47 | </span> |
48 | 48 | </div> |
49 | - {% elif field.auto_id == 'id_is_staff' or field.auto_id == 'id_is_active' %} | |
50 | - <div class="checkbox"> | |
51 | - <label> | |
52 | - {% render_field field type='checkbox' %} | |
53 | - </label> | |
54 | - </div> | |
49 | + {% elif field.auto_id == 'id_cpf' %} | |
50 | + {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarCpf(this,event);' %} | |
55 | 51 | {% else %} |
56 | 52 | {% render_field field class='form-control' %} |
57 | 53 | <span id="helpBlock" class="help-block">{{ field.help_text }}</span> |
58 | 54 | {% endif %} |
59 | - {% if field.errors.length > 0 %} | |
60 | - <div class="alert alert-danger alert-dismissible" role="alert"> | |
55 | + {% if field.errors %} | |
56 | + <div class="alert alert-danger alert-dismissible col-md-offset-4 col-md-8" role="alert"> | |
61 | 57 | <button type="button" class="close" data-dismiss="alert" aria-label="Close"> |
62 | 58 | <span aria-hidden="true">×</span> |
63 | 59 | </button> |
... | ... | @@ -67,7 +63,6 @@ |
67 | 63 | {% endfor %} |
68 | 64 | </ul> |
69 | 65 | </div> |
70 | - </div> | |
71 | 66 | {% endif %} |
72 | 67 | </div> |
73 | 68 | {% endfor %} | ... | ... |
users/views.py
... | ... | @@ -10,6 +10,7 @@ from rolepermissions.shortcuts import assign_role |
10 | 10 | from .models import User |
11 | 11 | from .forms import UserForm, ProfileForm, UpdateUserForm |
12 | 12 | |
13 | +# ================ ADMIN ======================= | |
13 | 14 | class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): |
14 | 15 | |
15 | 16 | allowed_roles = ['system_admin'] |
... | ... | @@ -65,7 +66,7 @@ class Update(HasRoleMixin, LoginRequiredMixin, generic.UpdateView): |
65 | 66 | slug_url_kwarg = 'username' |
66 | 67 | context_object_name = 'acc' |
67 | 68 | model = User |
68 | - form_class = UserForm | |
69 | + form_class = UpdateUserForm | |
69 | 70 | success_url = reverse_lazy('users:manage') |
70 | 71 | |
71 | 72 | def form_valid(self, form): |
... | ... | @@ -94,6 +95,36 @@ class View(LoginRequiredMixin, generic.DetailView): |
94 | 95 | slug_field = 'username' |
95 | 96 | slug_url_kwarg = 'username' |
96 | 97 | |
98 | +class UpdateUser(LoginRequiredMixin, generic.edit.UpdateView): | |
99 | + | |
100 | + allowed_roles = ['student'] | |
101 | + login_url = reverse_lazy("core:home") | |
102 | + template_name = 'users/edit_profile.html' | |
103 | + form_class = UpdateUserForm | |
104 | + success_url = reverse_lazy('users:update_profile') | |
105 | + | |
106 | + def get_object(self): | |
107 | + user = get_object_or_404(User, username = self.request.user.username) | |
108 | + return user | |
109 | + | |
110 | + def form_valid(self, form): | |
111 | + form.save() | |
112 | + messages.success(self.request, _('Profile edited successfully!')) | |
113 | + | |
114 | + return super(UpdateUser, self).form_valid(form) | |
115 | + | |
116 | +class DeleteUser(LoginRequiredMixin, generic.edit.DeleteView): | |
117 | + allowed_roles = ['student'] | |
118 | + login_url = reverse_lazy("core:home") | |
119 | + model = User | |
120 | + success_url = reverse_lazy('core:index') | |
121 | + success_message = "Deleted Successfully" | |
122 | + | |
123 | + def get_queryset(self): | |
124 | + user = get_object_or_404(User, username = self.request.user.username) | |
125 | + return user | |
126 | + | |
127 | + | |
97 | 128 | class Profile(LoginRequiredMixin, generic.DetailView): |
98 | 129 | |
99 | 130 | login_url = reverse_lazy("core:home") |
... | ... | @@ -131,34 +162,4 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView): |
131 | 162 | |
132 | 163 | messages.success(self.request, _('Profile edited successfully!')) |
133 | 164 | |
134 | - return super(EditProfile, self).form_valid(form) | |
135 | - | |
136 | - | |
137 | -class UpdateUser(LoginRequiredMixin, generic.edit.UpdateView): | |
138 | - | |
139 | - allowed_roles = ['student'] | |
140 | - login_url = reverse_lazy("core:home") | |
141 | - template_name = 'users/edit_profile.html' | |
142 | - form_class = UpdateUserForm | |
143 | - success_url = reverse_lazy('users:update_profile') | |
144 | - | |
145 | - def get_object(self): | |
146 | - user = get_object_or_404(User, username = self.request.user.username) | |
147 | - return user | |
148 | - | |
149 | - def form_valid(self, form): | |
150 | - form.save() | |
151 | - messages.success(self.request, _('Profile edited successfully!')) | |
152 | - | |
153 | - return super(UpdateUser, self).form_valid(form) | |
154 | - | |
155 | -class DeleteUser(LoginRequiredMixin, generic.edit.DeleteView): | |
156 | - allowed_roles = ['student'] | |
157 | - login_url = reverse_lazy("core:home") | |
158 | - model = User | |
159 | - success_url = reverse_lazy('core:index') | |
160 | - success_message = "Deleted Successfully" | |
161 | - | |
162 | - def get_queryset(self): | |
163 | - user = get_object_or_404(User, username = self.request.user.username) | |
164 | - return user | |
165 | + return super(EditProfile, self).form_valid(form) | |
165 | 166 | \ No newline at end of file | ... | ... |