Commit 089af21ad217d217e0c52af2d19fc59a760c1301

Authored by fbormann
2 parents b99d4ef4 d4e29336

Merge branch 'dev' of https://github.com/amadeusproject/amadeuslms into dev

@@ -15,31 +15,7 @@ class RegisterUserForm(forms.ModelForm): @@ -15,31 +15,7 @@ class RegisterUserForm(forms.ModelForm):
15 15
16 def validate_cpf(self, cpf): 16 def validate_cpf(self, cpf):
17 cpf = ''.join(re.findall('\d', str(cpf))) 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 if cpfcnpj.validate(cpf): 19 if cpfcnpj.validate(cpf):
44 return True 20 return True
45 return False 21 return False
core/templates/base.html
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
38 <script type="text/javascript">$.material.init()</script> 38 <script type="text/javascript">$.material.init()</script>
39 39
40 <!--Javascript block for specific-app ones --> 40 <!--Javascript block for specific-app ones -->
  41 + <script src="{% static 'js/base/amadeus.js' %}"></script>
41 {% block style %} 42 {% block style %}
42 {% endblock %} 43 {% endblock %}
43 </head> 44 </head>
core/templates/register_user.html
@@ -8,11 +8,16 @@ @@ -8,11 +8,16 @@
8 8
9 9
10 {% block content %} 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">&times;</span>
  16 + </button>
  17 + <p>{{ message }}</p>
  18 + </div>
  19 + {% endfor %}
  20 + {% endif %}
16 <div class="row logo-row"> 21 <div class="row logo-row">
17 <div class="col-lg-offset-2 col-lg-9"> 22 <div class="col-lg-offset-2 col-lg-9">
18 <img src="{% static 'img/amadeus.png' %}" class="img-responsive center-block " alt="logo amadeus" id="logo"> 23 <img src="{% static 'img/amadeus.png' %}" class="img-responsive center-block " alt="logo amadeus" id="logo">
@@ -81,5 +86,4 @@ @@ -81,5 +86,4 @@
81 </div> 86 </div>
82 87
83 <br clear="all" /> 88 <br clear="all" />
84 - <script src="{% static 'js/base/amadeus.js' %}"></script>  
85 {% endblock %} 89 {% endblock %}
users/forms.py
@@ -27,25 +27,6 @@ class ProfileForm(forms.ModelForm): @@ -27,25 +27,6 @@ class ProfileForm(forms.ModelForm):
27 } 27 }
28 28
29 class UserForm(RegisterUserForm): 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 class Meta: 31 class Meta:
51 model = User 32 model = User
@@ -59,6 +40,7 @@ class EditUserForm(forms.ModelForm): @@ -59,6 +40,7 @@ class EditUserForm(forms.ModelForm):
59 40
60 # Ailson 41 # Ailson
61 class UpdateUserForm(forms.ModelForm): 42 class UpdateUserForm(forms.ModelForm):
  43 + company_logo = forms.ImageField(label=_('Company Logo'),required=False, error_messages = {'invalid':_("Image files only")})
62 44
63 class Meta: 45 class Meta:
64 model = User 46 model = User
users/templates/users/create.html
@@ -60,8 +60,8 @@ @@ -60,8 +60,8 @@
60 {% render_field field class='form-control' %} 60 {% render_field field class='form-control' %}
61 {% endif %} 61 {% endif %}
62 <span id="helpBlock" class="help-block">{{ field.help_text }}</span> 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 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 65 <button type="button" class="close" data-dismiss="alert" aria-label="Close">
66 <span aria-hidden="true">&times;</span> 66 <span aria-hidden="true">&times;</span>
67 </button> 67 </button>
users/templates/users/update.html
@@ -46,18 +46,14 @@ @@ -46,18 +46,14 @@
46 </button> 46 </button>
47 </span> 47 </span>
48 </div> 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 {% else %} 51 {% else %}
56 {% render_field field class='form-control' %} 52 {% render_field field class='form-control' %}
57 <span id="helpBlock" class="help-block">{{ field.help_text }}</span> 53 <span id="helpBlock" class="help-block">{{ field.help_text }}</span>
58 {% endif %} 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 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 57 <button type="button" class="close" data-dismiss="alert" aria-label="Close">
62 <span aria-hidden="true">&times;</span> 58 <span aria-hidden="true">&times;</span>
63 </button> 59 </button>
@@ -67,7 +63,6 @@ @@ -67,7 +63,6 @@
67 {% endfor %} 63 {% endfor %}
68 </ul> 64 </ul>
69 </div> 65 </div>
70 - </div>  
71 {% endif %} 66 {% endif %}
72 </div> 67 </div>
73 {% endfor %} 68 {% endfor %}
users/views.py
@@ -10,6 +10,7 @@ from rolepermissions.shortcuts import assign_role @@ -10,6 +10,7 @@ from rolepermissions.shortcuts import assign_role
10 from .models import User 10 from .models import User
11 from .forms import UserForm, ProfileForm, UpdateUserForm 11 from .forms import UserForm, ProfileForm, UpdateUserForm
12 12
  13 +# ================ ADMIN =======================
13 class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): 14 class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView):
14 15
15 allowed_roles = ['system_admin'] 16 allowed_roles = ['system_admin']
@@ -65,7 +66,7 @@ class Update(HasRoleMixin, LoginRequiredMixin, generic.UpdateView): @@ -65,7 +66,7 @@ class Update(HasRoleMixin, LoginRequiredMixin, generic.UpdateView):
65 slug_url_kwarg = 'username' 66 slug_url_kwarg = 'username'
66 context_object_name = 'acc' 67 context_object_name = 'acc'
67 model = User 68 model = User
68 - form_class = UserForm 69 + form_class = UpdateUserForm
69 success_url = reverse_lazy('users:manage') 70 success_url = reverse_lazy('users:manage')
70 71
71 def form_valid(self, form): 72 def form_valid(self, form):
@@ -94,6 +95,36 @@ class View(LoginRequiredMixin, generic.DetailView): @@ -94,6 +95,36 @@ class View(LoginRequiredMixin, generic.DetailView):
94 slug_field = 'username' 95 slug_field = 'username'
95 slug_url_kwarg = 'username' 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 class Profile(LoginRequiredMixin, generic.DetailView): 128 class Profile(LoginRequiredMixin, generic.DetailView):
98 129
99 login_url = reverse_lazy("core:home") 130 login_url = reverse_lazy("core:home")
@@ -131,34 +162,4 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView): @@ -131,34 +162,4 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView):
131 162
132 messages.success(self.request, _('Profile edited successfully!')) 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 \ No newline at end of file 166 \ No newline at end of file