diff --git a/core/tests.py b/core/tests.py index 7bcddde..83417d6 100644 --- a/core/tests.py +++ b/core/tests.py @@ -59,3 +59,25 @@ class RegisterUserTestCase(TestCase): self.assertRedirects(response, 'http://localhost%s' % reverse('core:home')) self.assertEqual(response.status_code, 302) self.assertEqual(User.objects.count(), 1) + +class UpdateUserTestCase(TestCase): + + def setUp(self): + self.client = Client() + + self.url = reverse('users:update_user') + + def test_get_post(self): + data={ + 'username': 'testeamadeus', + 'email': 'teste@amadeus.com', + 'name': 'Teste Amadeus', + 'city': 'Praia', + 'state': 'PE', + 'gender': 'F', + } + # self.assertRedirects(response1, reverse('app:index')) + response = self.client.post(self.url, data) + self.assertEqual(response.status_code, 302) + response = self.client.get(self.url) + self.assertEqual(response.status_code, 302) diff --git a/core/views.py b/core/views.py index ea47e69..038faac 100644 --- a/core/views.py +++ b/core/views.py @@ -2,10 +2,11 @@ from rolepermissions.shortcuts import assign_role from django.utils.translation import ugettext_lazy as _ from django.core.urlresolvers import reverse_lazy, reverse from django.contrib.auth import authenticate, login as login_user +from django.contrib.auth.mixins import LoginRequiredMixin from .decorators import log_decorator from django.contrib import messages from django.shortcuts import render, redirect -from django.views.generic import CreateView +from django.views.generic import CreateView, UpdateView from django.http import HttpResponse from .forms import RegisterUserForm from users.models import User @@ -31,6 +32,7 @@ class RegisterUser(CreateView): return super(RegisterUser, self).form_valid(form) + def create_account(request): return render(request, "create_account.html") diff --git a/logs/log_file_06-09-2016.txt b/logs/log_file_06-09-2016.txt index 359fd2e..5b67019 100644 --- a/logs/log_file_06-09-2016.txt +++ b/logs/log_file_06-09-2016.txt @@ -49,3 +49,39 @@ 06/09/2016 01:46:18 - test - Acessou home 06/09/2016 01:46:28 - test - Entrou no sistema 06/09/2016 01:46:28 - test - Acessou home +06/09/2016 02:39:03 - test - Entrou no sistema +06/09/2016 02:39:03 - test - Acessou home +06/09/2016 02:39:41 - test - Entrou no sistema +06/09/2016 02:39:41 - test - Acessou home +06/09/2016 02:40:57 - test - Entrou no sistema +06/09/2016 02:40:57 - test - Acessou home +06/09/2016 02:41:50 - test - Entrou no sistema +06/09/2016 02:41:50 - test - Acessou home +06/09/2016 02:46:53 - test - Entrou no sistema +06/09/2016 02:46:53 - test - Acessou home +06/09/2016 02:47:14 - test - Entrou no sistema +06/09/2016 02:47:14 - test - Acessou home +06/09/2016 02:50:33 - test - Entrou no sistema +06/09/2016 02:50:33 - test - Acessou home +06/09/2016 02:52:54 - test - Entrou no sistema +06/09/2016 02:52:54 - test - Acessou home +06/09/2016 02:57:03 - test - Entrou no sistema +06/09/2016 02:57:03 - test - Acessou home +06/09/2016 03:02:15 - test - Entrou no sistema +06/09/2016 03:02:15 - test - Acessou home +06/09/2016 16:20:42 - test - Entrou no sistema +06/09/2016 16:20:42 - test - Acessou home +06/09/2016 16:29:26 - test - Entrou no sistema +06/09/2016 16:29:26 - test - Acessou home +06/09/2016 16:31:14 - test - Entrou no sistema +06/09/2016 16:31:14 - test - Acessou home +06/09/2016 16:33:06 - test - Entrou no sistema +06/09/2016 16:33:06 - test - Acessou home +06/09/2016 16:33:26 - test - Entrou no sistema +06/09/2016 16:33:26 - test - Acessou home +06/09/2016 16:33:36 - test - Entrou no sistema +06/09/2016 16:33:36 - test - Acessou home +06/09/2016 16:34:10 - test - Entrou no sistema +06/09/2016 16:34:10 - test - Acessou home +06/09/2016 16:34:29 - test - Entrou no sistema +06/09/2016 16:34:29 - test - Acessou home diff --git a/users/forms.py b/users/forms.py index b2496bd..973fc0c 100644 --- a/users/forms.py +++ b/users/forms.py @@ -31,4 +31,11 @@ class EditUserForm(forms.ModelForm): class Meta: model = User - fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] \ No newline at end of file + fields = ['username', 'name', 'email', 'birth_date', 'city', 'state', 'gender', 'cpf', 'phone', 'image'] + +# Ailson +class UpdateUserForm(forms.ModelForm): + + class Meta: + model = User + fields = ['username', 'name', 'email', 'city', 'state', 'birth_date', 'gender', 'cpf', 'phone', 'image'] diff --git a/users/urls.py b/users/urls.py index 1d8b8d3..43a1df0 100644 --- a/users/urls.py +++ b/users/urls.py @@ -9,4 +9,6 @@ urlpatterns = [ url(r'^usuario/dados/(?P[\w_-]+)/$', views.View.as_view(), name='view'), url(r'^perfil/$', views.Profile.as_view(), name='profile'), url(r'^perfil/editar/(?P[\w_-]+)/$', views.EditProfile.as_view(), name='edit_profile'), + # + url(r'^profile/update/$', views.UpdateUser.as_view(), name='update_user'), ] diff --git a/users/views.py b/users/views.py index 731a56c..c023f83 100644 --- a/users/views.py +++ b/users/views.py @@ -7,7 +7,7 @@ from django.core.urlresolvers import reverse_lazy from django.utils.translation import ugettext_lazy as _ from rolepermissions.shortcuts import assign_role from .models import User -from .forms import UserForm, ProfileForm +from .forms import UserForm, ProfileForm, UpdateUserForm class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView): @@ -125,3 +125,21 @@ class EditProfile(LoginRequiredMixin, generic.UpdateView): messages.success(self.request, _('Profile edited successfully!')) return super(EditProfile, self).form_valid(form) + +class UpdateUser(LoginRequiredMixin, generic.edit.UpdateView): + allowed_roles = ['student'] + login_url = reverse_lazy("core:home") + # template_name = 'users/edit_profile.html' + form_class = UpdateUserForm + success_url = reverse_lazy('app:index') + + def get_object(self): + user = get_object_or_404(User, username = self.request.user.username) + return user + + def form_valid(self, form): + form.save() + messages.success(self.request, _('Profile edited successfully!')) + + return super(UpdateUser, self).form_valid(form) + -- libgit2 0.21.2