Commit d7d4e2dbc8ea46771ddd5029c9c7d6f02e5fda18

Authored by Ailson da Cruz
1 parent e19d0e17

Test edit user #7

core/tests.py
... ... @@ -59,3 +59,25 @@ class RegisterUserTestCase(TestCase):
59 59 self.assertRedirects(response, 'http://localhost%s' % reverse('core:home'))
60 60 self.assertEqual(response.status_code, 302)
61 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 2 from django.utils.translation import ugettext_lazy as _
3 3 from django.core.urlresolvers import reverse_lazy, reverse
4 4 from django.contrib.auth import authenticate, login as login_user
  5 +from django.contrib.auth.mixins import LoginRequiredMixin
5 6 from .decorators import log_decorator
6 7 from django.contrib import messages
7 8 from django.shortcuts import render, redirect
8   -from django.views.generic import CreateView
  9 +from django.views.generic import CreateView, UpdateView
9 10 from django.http import HttpResponse
10 11 from .forms import RegisterUserForm
11 12 from users.models import User
... ... @@ -31,6 +32,7 @@ class RegisterUser(CreateView):
31 32  
32 33 return super(RegisterUser, self).form_valid(form)
33 34  
  35 +
34 36 def create_account(request):
35 37 return render(request, "create_account.html")
36 38  
... ...
logs/log_file_06-09-2016.txt
... ... @@ -49,3 +49,39 @@
49 49 06/09/2016 01:46:18 - test - Acessou home
50 50 06/09/2016 01:46:28 - test - Entrou no sistema
51 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 31  
32 32 class Meta:
33 33 model = User
34   - fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image']
35 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 9 url(r'^usuario/dados/(?P<username>[\w_-]+)/$', views.View.as_view(), name='view'),
10 10 url(r'^perfil/$', views.Profile.as_view(), name='profile'),
11 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 from django.utils.translation import ugettext_lazy as _
8 8 from rolepermissions.shortcuts import assign_role
9 9 from .models import User
10   -from .forms import UserForm, ProfileForm
  10 +from .forms import UserForm, ProfileForm, UpdateUserForm
11 11  
12 12 class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView):
13 13  
... ... @@ -125,3 +125,21 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView):
125 125 messages.success(self.request, _('Profile edited successfully!'))
126 126  
127 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 +
... ...