Commit e874a320b66ba12242da88d1cad270c058fb09b8
1 parent
beabbf7f
Exists in
master
and in
5 other branches
Fixing commented errors #188
Showing
7 changed files
with
57 additions
and
27 deletions
Show diff stats
app/templates/home.html
... | ... | @@ -5,8 +5,14 @@ |
5 | 5 | {% block javascript %} |
6 | 6 | {% if page_obj %} |
7 | 7 | <script type="text/javascript"> |
8 | - var pageNum = {{ page_obj.number }}; // The latest page loaded | |
9 | - var numberPages = {{ paginator.num_pages }}; // Indicates the number of pages | |
8 | + {% if page_obj and paginator %} | |
9 | + var pageNum = {{ page_obj.number }}; // The latest page loaded | |
10 | + var numberPages = {{ paginator.num_pages }}; // Indicates the number of pages | |
11 | + {% else %} | |
12 | + var pageNum = 0 ; // The latest page loaded | |
13 | + var numberPages = 0 ; // Indicates the number of pages | |
14 | + {% endif %} | |
15 | + | |
10 | 16 | var baseUrl = '{% url "app:index" %}'; |
11 | 17 | |
12 | 18 | // loadOnScroll handler | ... | ... |
core/static/css/base/amadeus.css
core/static/js/base/amadeus.js
... | ... | @@ -14,6 +14,7 @@ function campoNumerico(campo, evento){ |
14 | 14 | return true; |
15 | 15 | } else { |
16 | 16 | evento.returnValue = false; |
17 | + evento.preventDefault(); | |
17 | 18 | return false; |
18 | 19 | } |
19 | 20 | }; |
... | ... | @@ -28,7 +29,7 @@ function formatarCpf(campo, evento){ |
28 | 29 | } |
29 | 30 | else if( evento ) { // Firefox |
30 | 31 | codTecla = evento.which; |
31 | - } | |
32 | + } | |
32 | 33 | tamanho = campo.value.length; |
33 | 34 | if( (codTecla > 47 && codTecla < 58) || codTecla== 8 || codTecla == 0){ |
34 | 35 | if(tamanho < 14 ){ |
... | ... | @@ -41,8 +42,8 @@ function formatarCpf(campo, evento){ |
41 | 42 | } |
42 | 43 | }else{ |
43 | 44 | evento.returnValue = false; |
45 | + return false; | |
44 | 46 | } |
45 | - return true; | |
46 | 47 | } else { |
47 | 48 | return false; |
48 | 49 | } |
... | ... | @@ -61,30 +62,28 @@ function formatarTelefone(campo, evento){ |
61 | 62 | } |
62 | 63 | tamanho = campo.value.length; |
63 | 64 | |
64 | - if(((codTecla > 47 && codTecla < 58) || (codTecla == 8)) && tamanho < 15){ | |
65 | + if(((codTecla > 47 && codTecla < 58) && tamanho < 15)){ | |
65 | 66 | |
66 | 67 | if(tamanho == 0){ |
67 | 68 | campo.value = "(" + campo.value; |
68 | 69 | }else if( tamanho == 3 ){ |
69 | 70 | campo.value = campo.value + ") "; |
70 | - }else if(tamanho == 9){ | |
71 | + }else if(tamanho == 10){ | |
71 | 72 | campo.value = campo.value + "-"; |
72 | - }else if(tamanho == 14){ | |
73 | - // alert('oi'); | |
74 | - campo.value = campo.value.slice(0, 4) + campo.value.slice(5, 14); | |
75 | - campo.value = campo.value.slice(0, 8) + campo.value.slice(9, 10) + campo.value.slice(8, 9) + campo.value.slice(10, 14) | |
76 | 73 | } |
77 | 74 | return true; |
78 | 75 | |
76 | + | |
79 | 77 | } else if(codTecla == 0 || codTecla == 8){ |
80 | 78 | return true; |
81 | 79 | } else { |
82 | 80 | evento.returnValue = false; |
81 | + evento.preventDefault() | |
83 | 82 | return false; |
84 | 83 | } |
84 | + evento.preventDefault() | |
85 | 85 | return false; |
86 | -} | |
87 | - | |
86 | +}; | |
88 | 87 | /* |
89 | 88 | This functions get the next 5 notifications from the user given a "step"(an amount) of previous notifications |
90 | 89 | */ | ... | ... |
users/forms.py
... | ... | @@ -63,7 +63,6 @@ class UpdateUserForm(forms.ModelForm): |
63 | 63 | def clean_birth_date(self): |
64 | 64 | birth_date = self.cleaned_data['birth_date'] |
65 | 65 | if birth_date >= date.today(): |
66 | - print('===============' + date.today() + '================') | |
67 | 66 | raise forms.ValidationError(_('Please enter a valid date')) |
68 | 67 | return birth_date |
69 | 68 | |
... | ... | @@ -73,10 +72,18 @@ class UpdateUserForm(forms.ModelForm): |
73 | 72 | 'state', 'gender', 'type_profile', 'cpf', 'phone', 'image', 'titration', |
74 | 73 | 'year_titration', 'institution', 'curriculum', 'is_staff', 'is_active'] |
75 | 74 | |
76 | -class UpdateProfileForm(UpdateUserForm): | |
75 | +class UpdateProfileFormAdmin(UpdateUserForm): | |
77 | 76 | |
78 | 77 | class Meta: |
79 | 78 | model = User |
80 | 79 | fields = ['username', 'name', 'email', 'birth_date', 'city', |
81 | 80 | 'state', 'gender', 'type_profile', 'cpf', 'phone', 'image', 'titration', |
82 | 81 | 'year_titration', 'institution', 'curriculum', 'is_staff', 'is_active'] |
82 | + | |
83 | +class UpdateProfileForm(UpdateUserForm): | |
84 | + | |
85 | + class Meta: | |
86 | + model = User | |
87 | + fields = ['username', 'name', 'email', 'birth_date', 'city', | |
88 | + 'state', 'gender', 'cpf', 'phone', 'image', 'titration', | |
89 | + 'year_titration', 'institution', 'curriculum'] | ... | ... |
users/templates/users/edit_profile.html
1 | -{% extends 'list_users.html' %} | |
1 | +{% extends 'users/profile.html' %} | |
2 | 2 | |
3 | 3 | {% load static i18n permission_tags %} |
4 | 4 | {% load widget_tweaks %} |
... | ... | @@ -6,9 +6,13 @@ |
6 | 6 | {% load django_bootstrap_breadcrumbs %} |
7 | 7 | |
8 | 8 | {% block breadcrumbs %} |
9 | - | |
10 | - {{ block.super }} | |
11 | - {% breadcrumb 'Update User' 'users:update' %} | |
9 | + {% if user|has_role:'system_admin' %} | |
10 | + {{ block.super }} | |
11 | + {% breadcrumb 'Update User' 'users:update' %} | |
12 | + {% else %} | |
13 | + {{ block.super }} | |
14 | + {% breadcrumb 'Update Profile' 'users:update' %} | |
15 | + {% endif %} | |
12 | 16 | |
13 | 17 | {% endblock %} |
14 | 18 | |
... | ... | @@ -25,7 +29,7 @@ |
25 | 29 | {% endfor %} |
26 | 30 | {% endif %} |
27 | 31 | |
28 | - <div class="card"> | |
32 | + <div class="card mg-b-5m"> | |
29 | 33 | <div class="card-content"> |
30 | 34 | <div class="card-body"> |
31 | 35 | <form method="post" action="" enctype="multipart/form-data"> |
... | ... | @@ -53,6 +57,9 @@ |
53 | 57 | |
54 | 58 | {% elif field.auto_id == 'id_phone' %} |
55 | 59 | {% render_field field class='form-control' onkeypress='campoNumerico(this,event); formatarTelefone(this,event);' %} |
60 | + | |
61 | + {% elif field.auto_id == 'id_year_titration' %} | |
62 | + {% render_field field class='form-control' onkeypress='campoNumerico(this,event);' %} | |
56 | 63 | |
57 | 64 | {% elif field.auto_id == 'id_is_staff' or field.auto_id == 'id_is_active' %} |
58 | 65 | {% if user|has_role:'system_admin' %} | ... | ... |
users/templates/users/update.html
... | ... | @@ -6,10 +6,10 @@ |
6 | 6 | {% load django_bootstrap_breadcrumbs %} |
7 | 7 | |
8 | 8 | {% block breadcrumbs %} |
9 | - | |
10 | - {{ block.super }} | |
11 | - {% breadcrumb 'Update User' 'users:update' %} | |
12 | - | |
9 | + | |
10 | + {{ block.super }} | |
11 | + {% breadcrumb 'Update User' 'users:update' %} | |
12 | + | |
13 | 13 | {% endblock %} |
14 | 14 | |
15 | 15 | |
... | ... | @@ -25,7 +25,7 @@ |
25 | 25 | {% endfor %} |
26 | 26 | {% endif %} |
27 | 27 | |
28 | - <div class="card"> | |
28 | + <div class="card mg-b-5m"> | |
29 | 29 | <div class="card-content"> |
30 | 30 | <div class="card-body"> |
31 | 31 | <form method="post" action="" enctype="multipart/form-data"> | ... | ... |
users/views.py
... | ... | @@ -7,8 +7,9 @@ from django.contrib.auth.mixins import LoginRequiredMixin |
7 | 7 | from django.core.urlresolvers import reverse_lazy |
8 | 8 | from django.utils.translation import ugettext_lazy as _ |
9 | 9 | from rolepermissions.shortcuts import assign_role |
10 | +from rolepermissions.verifications import has_role | |
10 | 11 | from .models import User |
11 | -from .forms import UserForm, UpdateProfileForm, UpdateUserForm | |
12 | +from .forms import UserForm, UpdateProfileForm, UpdateUserForm, UpdateProfileFormAdmin | |
12 | 13 | |
13 | 14 | # ================ ADMIN ======================= |
14 | 15 | class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): |
... | ... | @@ -110,8 +111,6 @@ class Remove_account(generic.TemplateView): |
110 | 111 | |
111 | 112 | |
112 | 113 | class UpdateProfile(LoginRequiredMixin, generic.edit.UpdateView): |
113 | - | |
114 | - allowed_roles = ['student'] | |
115 | 114 | login_url = reverse_lazy("core:home") |
116 | 115 | template_name = 'users/edit_profile.html' |
117 | 116 | form_class = UpdateProfileForm |
... | ... | @@ -121,6 +120,14 @@ class UpdateProfile(LoginRequiredMixin, generic.edit.UpdateView): |
121 | 120 | user = get_object_or_404(User, username = self.request.user.username) |
122 | 121 | return user |
123 | 122 | |
123 | + def get_context_data(self, **kwargs): | |
124 | + context = super(UpdateProfile, self).get_context_data(**kwargs) | |
125 | + if has_role(self.request.user, 'system_admin'): | |
126 | + context['form'] = UpdateProfileFormAdmin(instance = self.object) | |
127 | + else: | |
128 | + context['form'] = UpdateProfileForm(instance = self.object) | |
129 | + return context | |
130 | + | |
124 | 131 | def form_valid(self, form): |
125 | 132 | form.save() |
126 | 133 | messages.success(self.request, _('Profile edited successfully!')) | ... | ... |