Commit d7d4e2dbc8ea46771ddd5029c9c7d6f02e5fda18
1 parent
e19d0e17
Exists in
master
and in
5 other branches
Test edit user #7
Showing
6 changed files
with
90 additions
and
3 deletions
Show diff stats
core/tests.py
@@ -59,3 +59,25 @@ class RegisterUserTestCase(TestCase): | @@ -59,3 +59,25 @@ class RegisterUserTestCase(TestCase): | ||
59 | self.assertRedirects(response, 'http://localhost%s' % reverse('core:home')) | 59 | self.assertRedirects(response, 'http://localhost%s' % reverse('core:home')) |
60 | self.assertEqual(response.status_code, 302) | 60 | self.assertEqual(response.status_code, 302) |
61 | self.assertEqual(User.objects.count(), 1) | 61 | self.assertEqual(User.objects.count(), 1) |
62 | + | ||
63 | +class UpdateUserTestCase(TestCase): | ||
64 | + | ||
65 | + def setUp(self): | ||
66 | + self.client = Client() | ||
67 | + | ||
68 | + self.url = reverse('users:update_user') | ||
69 | + | ||
70 | + def test_get_post(self): | ||
71 | + data={ | ||
72 | + 'username': 'testeamadeus', | ||
73 | + 'email': 'teste@amadeus.com', | ||
74 | + 'name': 'Teste Amadeus', | ||
75 | + 'city': 'Praia', | ||
76 | + 'state': 'PE', | ||
77 | + 'gender': 'F', | ||
78 | + } | ||
79 | + # self.assertRedirects(response1, reverse('app:index')) | ||
80 | + response = self.client.post(self.url, data) | ||
81 | + self.assertEqual(response.status_code, 302) | ||
82 | + response = self.client.get(self.url) | ||
83 | + self.assertEqual(response.status_code, 302) |
core/views.py
@@ -2,10 +2,11 @@ from rolepermissions.shortcuts import assign_role | @@ -2,10 +2,11 @@ from rolepermissions.shortcuts import assign_role | ||
2 | from django.utils.translation import ugettext_lazy as _ | 2 | from django.utils.translation import ugettext_lazy as _ |
3 | from django.core.urlresolvers import reverse_lazy, reverse | 3 | from django.core.urlresolvers import reverse_lazy, reverse |
4 | from django.contrib.auth import authenticate, login as login_user | 4 | from django.contrib.auth import authenticate, login as login_user |
5 | +from django.contrib.auth.mixins import LoginRequiredMixin | ||
5 | from .decorators import log_decorator | 6 | from .decorators import log_decorator |
6 | from django.contrib import messages | 7 | from django.contrib import messages |
7 | from django.shortcuts import render, redirect | 8 | from django.shortcuts import render, redirect |
8 | -from django.views.generic import CreateView | 9 | +from django.views.generic import CreateView, UpdateView |
9 | from django.http import HttpResponse | 10 | from django.http import HttpResponse |
10 | from .forms import RegisterUserForm | 11 | from .forms import RegisterUserForm |
11 | from users.models import User | 12 | from users.models import User |
@@ -31,6 +32,7 @@ class RegisterUser(CreateView): | @@ -31,6 +32,7 @@ class RegisterUser(CreateView): | ||
31 | 32 | ||
32 | return super(RegisterUser, self).form_valid(form) | 33 | return super(RegisterUser, self).form_valid(form) |
33 | 34 | ||
35 | + | ||
34 | def create_account(request): | 36 | def create_account(request): |
35 | return render(request, "create_account.html") | 37 | return render(request, "create_account.html") |
36 | 38 |
logs/log_file_06-09-2016.txt
@@ -49,3 +49,39 @@ | @@ -49,3 +49,39 @@ | ||
49 | 06/09/2016 01:46:18 - test - Acessou home | 49 | 06/09/2016 01:46:18 - test - Acessou home |
50 | 06/09/2016 01:46:28 - test - Entrou no sistema | 50 | 06/09/2016 01:46:28 - test - Entrou no sistema |
51 | 06/09/2016 01:46:28 - test - Acessou home | 51 | 06/09/2016 01:46:28 - test - Acessou home |
52 | +06/09/2016 02:39:03 - test - Entrou no sistema | ||
53 | +06/09/2016 02:39:03 - test - Acessou home | ||
54 | +06/09/2016 02:39:41 - test - Entrou no sistema | ||
55 | +06/09/2016 02:39:41 - test - Acessou home | ||
56 | +06/09/2016 02:40:57 - test - Entrou no sistema | ||
57 | +06/09/2016 02:40:57 - test - Acessou home | ||
58 | +06/09/2016 02:41:50 - test - Entrou no sistema | ||
59 | +06/09/2016 02:41:50 - test - Acessou home | ||
60 | +06/09/2016 02:46:53 - test - Entrou no sistema | ||
61 | +06/09/2016 02:46:53 - test - Acessou home | ||
62 | +06/09/2016 02:47:14 - test - Entrou no sistema | ||
63 | +06/09/2016 02:47:14 - test - Acessou home | ||
64 | +06/09/2016 02:50:33 - test - Entrou no sistema | ||
65 | +06/09/2016 02:50:33 - test - Acessou home | ||
66 | +06/09/2016 02:52:54 - test - Entrou no sistema | ||
67 | +06/09/2016 02:52:54 - test - Acessou home | ||
68 | +06/09/2016 02:57:03 - test - Entrou no sistema | ||
69 | +06/09/2016 02:57:03 - test - Acessou home | ||
70 | +06/09/2016 03:02:15 - test - Entrou no sistema | ||
71 | +06/09/2016 03:02:15 - test - Acessou home | ||
72 | +06/09/2016 16:20:42 - test - Entrou no sistema | ||
73 | +06/09/2016 16:20:42 - test - Acessou home | ||
74 | +06/09/2016 16:29:26 - test - Entrou no sistema | ||
75 | +06/09/2016 16:29:26 - test - Acessou home | ||
76 | +06/09/2016 16:31:14 - test - Entrou no sistema | ||
77 | +06/09/2016 16:31:14 - test - Acessou home | ||
78 | +06/09/2016 16:33:06 - test - Entrou no sistema | ||
79 | +06/09/2016 16:33:06 - test - Acessou home | ||
80 | +06/09/2016 16:33:26 - test - Entrou no sistema | ||
81 | +06/09/2016 16:33:26 - test - Acessou home | ||
82 | +06/09/2016 16:33:36 - test - Entrou no sistema | ||
83 | +06/09/2016 16:33:36 - test - Acessou home | ||
84 | +06/09/2016 16:34:10 - test - Entrou no sistema | ||
85 | +06/09/2016 16:34:10 - test - Acessou home | ||
86 | +06/09/2016 16:34:29 - test - Entrou no sistema | ||
87 | +06/09/2016 16:34:29 - test - Acessou home |
users/forms.py
@@ -31,4 +31,11 @@ class EditUserForm(forms.ModelForm): | @@ -31,4 +31,11 @@ class EditUserForm(forms.ModelForm): | ||
31 | 31 | ||
32 | class Meta: | 32 | class Meta: |
33 | model = User | 33 | model = User |
34 | - fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] | ||
35 | \ No newline at end of file | 34 | \ No newline at end of file |
35 | + fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] | ||
36 | + | ||
37 | +# Ailson | ||
38 | +class UpdateUserForm(forms.ModelForm): | ||
39 | + | ||
40 | + class Meta: | ||
41 | + model = User | ||
42 | + fields = ['username', 'name', 'email', 'city', 'state', 'birth_date', 'gender', 'cpf', 'phone', 'image'] |
users/urls.py
@@ -9,4 +9,6 @@ urlpatterns = [ | @@ -9,4 +9,6 @@ urlpatterns = [ | ||
9 | url(r'^usuario/dados/(?P<username>[\w_-]+)/$', views.View.as_view(), name='view'), | 9 | url(r'^usuario/dados/(?P<username>[\w_-]+)/$', views.View.as_view(), name='view'), |
10 | url(r'^perfil/$', views.Profile.as_view(), name='profile'), | 10 | url(r'^perfil/$', views.Profile.as_view(), name='profile'), |
11 | url(r'^perfil/editar/(?P<username>[\w_-]+)/$', views.EditProfile.as_view(), name='edit_profile'), | 11 | url(r'^perfil/editar/(?P<username>[\w_-]+)/$', views.EditProfile.as_view(), name='edit_profile'), |
12 | + # | ||
13 | + url(r'^profile/update/$', views.UpdateUser.as_view(), name='update_user'), | ||
12 | ] | 14 | ] |
users/views.py
@@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse_lazy | @@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse_lazy | ||
7 | from django.utils.translation import ugettext_lazy as _ | 7 | from django.utils.translation import ugettext_lazy as _ |
8 | from rolepermissions.shortcuts import assign_role | 8 | from rolepermissions.shortcuts import assign_role |
9 | from .models import User | 9 | from .models import User |
10 | -from .forms import UserForm, ProfileForm | 10 | +from .forms import UserForm, ProfileForm, UpdateUserForm |
11 | 11 | ||
12 | class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): | 12 | class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): |
13 | 13 | ||
@@ -125,3 +125,21 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView): | @@ -125,3 +125,21 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView): | ||
125 | messages.success(self.request, _('Profile edited successfully!')) | 125 | messages.success(self.request, _('Profile edited successfully!')) |
126 | 126 | ||
127 | return super(EditProfile, self).form_valid(form) | 127 | return super(EditProfile, self).form_valid(form) |
128 | + | ||
129 | +class UpdateUser(LoginRequiredMixin, generic.edit.UpdateView): | ||
130 | + allowed_roles = ['student'] | ||
131 | + login_url = reverse_lazy("core:home") | ||
132 | + # template_name = 'users/edit_profile.html' | ||
133 | + form_class = UpdateUserForm | ||
134 | + success_url = reverse_lazy('app:index') | ||
135 | + | ||
136 | + def get_object(self): | ||
137 | + user = get_object_or_404(User, username = self.request.user.username) | ||
138 | + return user | ||
139 | + | ||
140 | + def form_valid(self, form): | ||
141 | + form.save() | ||
142 | + messages.success(self.request, _('Profile edited successfully!')) | ||
143 | + | ||
144 | + return super(UpdateUser, self).form_valid(form) | ||
145 | + |