diff --git a/amadeus/settings.py b/amadeus/settings.py
index 4e3f84c..9f41262 100644
--- a/amadeus/settings.py
+++ b/amadeus/settings.py
@@ -51,8 +51,10 @@ INSTALLED_APPS = [
's3direct',
'django_summernote',
+ 'amadeus',
'users',
'localization',
+ 'notifications',
'log',
]
diff --git a/localization/migrations/0001_initial.py b/localization/migrations/0001_initial.py
index b9d63a8..a79aff4 100644
--- a/localization/migrations/0001_initial.py
+++ b/localization/migrations/0001_initial.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-12-19 17:20
+# Generated by Django 1.10 on 2016-12-20 18:17
from __future__ import unicode_literals
from django.db import migrations, models
diff --git a/users/admin.py b/users/admin.py
index 453c8be..e69de29 100644
--- a/users/admin.py
+++ b/users/admin.py
@@ -1,10 +0,0 @@
-from django.contrib import admin
-from .models import User
-from .forms import UserForm
-
-class UserAdmin(admin.ModelAdmin):
- list_display = ['username', 'name', 'email', 'is_staff', 'is_active']
- search_fields = ['username', 'name', 'email']
- form = UserForm
-
-admin.site.register(User, UserAdmin)
diff --git a/users/forms.py b/users/forms.py
index 1d7d4de..196d5fd 100644
--- a/users/forms.py
+++ b/users/forms.py
@@ -1,52 +1,10 @@
# coding=utf-8
-import os, re
-from datetime import date
-from pycpfcnpj import cpfcnpj
-from django.conf import settings
from django import forms
from django.utils.translation import ugettext_lazy as _
from rolepermissions.shortcuts import assign_role
-from django.contrib.auth.forms import UserCreationForm
from .models import User
class Validation(forms.ModelForm):
- def clean_email(self):
- email = self.cleaned_data['email']
-
- if User.objects.filter(email = email).exists():
- raise forms.ValidationError(_('There is already a registered User with this e-mail'))
-
- return email
-
- def validate_cpf(self, cpf):
- cpf = ''.join(re.findall('\d', str(cpf)))
-
- if not cpf == '':
- if cpfcnpj.validate(cpf):
- return True
-
- return False
-
- return True
-
- def clean_cpf(self):
- cpf = self.cleaned_data['cpf']
-
- if not self.validate_cpf(cpf):
- raise forms.ValidationError(_('Please enter a valid CPF'))
-
- return cpf
-
- def clean_birth_date(self):
- birth_date = self.cleaned_data['birth_date']
-
- if not birth_date is None:
- if birth_date >= date.today():
- raise forms.ValidationError(_('Please enter a valid date'))
-
- return birth_date
-
-class ValidationRegister(Validation):
def clean_password(self):
password = self.cleaned_data.get('password')
@@ -70,35 +28,6 @@ class ValidationRegister(Validation):
return password2
-class UserForm(Validation):
- def save(self, commit=True):
- super(AdminUserForm, self).save(commit=False)
-
- self.instance.set_password(self.cleaned_data['password'])
- self.instance.save()
-
- if self.instance.is_staff:
- assign_role(self.instance, 'system_admin')
- elif self.instance.type_profile == 2:
- assign_role(self.instance, 'student')
- elif self.instance.type_profile == 1:
- assign_role(self.instance, 'professor')
- elif self.instance.type_profile == 3:
- assign_role(self.instance, 'coordinator')
-
- self.instance.save()
-
- return self.instance
-
- class Meta:
- model = User
- fields = ['username', 'name', 'email', 'password',
- 'birth_date', 'city', 'state', 'gender', 'type_profile', 'cpf', 'phone',
- 'image', 'titration', 'year_titration', 'institution', 'curriculum', 'is_staff', 'is_active']
- widgets = {
- 'password':forms.PasswordInput
- }
-
class RegisterUserForm(ValidationRegister):
password = forms.CharField(label=_('Password'), widget=forms.PasswordInput)
password2 = forms.CharField(label = _('Confirm Password'), widget = forms.PasswordInput)
@@ -111,17 +40,12 @@ class RegisterUserForm(ValidationRegister):
self.instance.set_password(self.cleaned_data['password'])
self.instance.save()
+
+ if self.instance.type_profile == 2:
+ assign_role(self.instance, 'student')
return self.instance
class Meta:
model = User
- fields = ['username', 'name', 'email',]
-
-class UpdateProfileForm(Validation):
-
- class Meta:
- model = User
- fields = ['username', 'name', 'email', 'birth_date', 'city',
- 'state', 'gender', 'cpf', 'phone', 'image', 'titration',
- 'year_titration', 'institution', 'curriculum']
+ fields = ['username', 'name', 'last_name', 'social_name',]
diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py
index d051fbe..47bc171 100644
--- a/users/migrations/0001_initial.py
+++ b/users/migrations/0001_initial.py
@@ -1,11 +1,10 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-12-19 17:21
+# Generated by Django 1.10 on 2016-12-20 18:17
from __future__ import unicode_literals
import django.contrib.auth.models
import django.core.validators
from django.db import migrations, models
-import django.db.models.deletion
import re
@@ -15,7 +14,6 @@ class Migration(migrations.Migration):
dependencies = [
('auth', '0008_alter_user_username_max_length'),
- ('localization', '0001_initial'),
]
operations = [
@@ -26,25 +24,18 @@ class Migration(migrations.Migration):
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
- ('username', models.CharField(help_text='A short name that will be used to identify you in the platform and to access it', max_length=35, unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[\\w.@+-]+$', 32), 'Type a valid username. This fields should only contain letters, numbers and the characteres: @/./+/-/_ .', 'invalid')], verbose_name='Login')),
- ('email', models.EmailField(max_length=254, unique=True, verbose_name='Mail')),
- ('name', models.CharField(max_length=100, verbose_name='Name')),
- ('gender', models.CharField(blank=True, choices=[('M', 'Male'), ('F', 'Female')], max_length=1, null=True, verbose_name='Gender')),
+ ('email', models.EmailField(help_text='Your email address that will be used to access the platform', max_length=254, unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[\\w.@+-]+$', 32), 'Type a valid username. This fields should only contain letters, numbers and the characteres: @/./+/-/_ .', 'invalid')], verbose_name='Mail')),
+ ('username', models.CharField(max_length=100, verbose_name='Name')),
+ ('last_name', models.CharField(max_length=100, verbose_name='Last Name')),
+ ('social_name', models.CharField(blank=True, max_length=100, null=True, verbose_name='Social Name')),
+ ('description', models.TextField(blank=True, verbose_name='Description')),
('image', models.ImageField(blank=True, null=True, upload_to='users/', verbose_name='Photo')),
- ('birth_date', models.DateField(blank=True, null=True, verbose_name='Birth Date')),
- ('phone', models.CharField(blank=True, max_length=30, verbose_name='Phone')),
- ('cpf', models.CharField(blank=True, max_length=15, null=True, verbose_name='CPF')),
- ('type_profile', models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student')], null=True, verbose_name='Type')),
- ('titration', models.CharField(blank=True, max_length=50, null=True, verbose_name='Titration')),
- ('year_titration', models.CharField(blank=True, max_length=4, null=True, verbose_name='Year of titration')),
- ('institution', models.CharField(blank=True, max_length=50, null=True, verbose_name='Institution')),
- ('curriculum', models.FileField(blank=True, null=True, upload_to='users/curriculum/', verbose_name='Curriculum')),
+ ('type_profile', models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student'), (3, 'Coordinator')], null=True, verbose_name='Type')),
('date_created', models.DateTimeField(auto_now_add=True, verbose_name='Create Date')),
+ ('show_email', models.IntegerField(choices=[(1, 'Allow everyone to see my address'), (2, 'Only classmates can see my address'), (3, 'Nobody can see my address')], null=True, verbose_name='Show email?')),
('is_staff', models.BooleanField(default=False, verbose_name='Administrator')),
('is_active', models.BooleanField(default=True, verbose_name='Active')),
- ('city', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='localization.City', verbose_name='City')),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
- ('state', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='localization.State', verbose_name='State')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
],
options={
diff --git a/users/migrations/0002_auto_20161219_2218.py b/users/migrations/0002_auto_20161219_2218.py
deleted file mode 100644
index 709542e..0000000
--- a/users/migrations/0002_auto_20161219_2218.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by Django 1.10 on 2016-12-20 01:18
-from __future__ import unicode_literals
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('users', '0001_initial'),
- ]
-
- operations = [
- migrations.AlterField(
- model_name='user',
- name='type_profile',
- field=models.IntegerField(blank=True, choices=[(1, 'Professor'), (2, 'Student'), (3, 'Coordinator')], null=True, verbose_name='Type'),
- ),
- ]
diff --git a/users/models.py b/users/models.py
index 9371b24..21ec2ea 100644
--- a/users/models.py
+++ b/users/models.py
@@ -6,37 +6,28 @@ from django.utils.translation import ugettext_lazy as _
from django.contrib.auth.models import AbstractBaseUser, UserManager, PermissionsMixin
from django.contrib.staticfiles.templatetags.staticfiles import static
-from localization.models import City, State
-
class User(AbstractBaseUser, PermissionsMixin):
- username = models.CharField(_('Login'), max_length = 35, unique = True, validators = [
+ email = models.EmailField(_('Mail'), unique = True, validators = [
validators.RegexValidator(
re.compile('^[\w.@+-]+$'),
_('Type a valid username. This fields should only contain letters, numbers and the characteres: @/./+/-/_ .')
, 'invalid'
)
- ], help_text = _('A short name that will be used to identify you in the platform and to access it'))
- email = models.EmailField(_('Mail'), unique = True)
- name = models.CharField(_('Name'), max_length = 100)
- city = models.ForeignKey(City, verbose_name = _('City'), blank = True, null = True)
- state = models.ForeignKey(State, verbose_name = _('State'), blank = True, null = True)
- gender = models.CharField(_('Gender'), max_length = 1, choices = (('M', _('Male')), ('F', _('Female'))), blank=True, null=True)
+ ], help_text = _('Your email address that will be used to access the platform'))
+ username = models.CharField(_('Name'), max_length = 100)
+ last_name = models.CharField(_('Last Name'), max_length = 100)
+ social_name = models.CharField(_('Social Name'), max_length = 100, blank = True, null = True)
+ description = models.TextField(_('Description'), blank = True)
image = models.ImageField(verbose_name = _('Photo'), null=True, blank = True, upload_to = 'users/')
- birth_date = models.DateField(_('Birth Date'), null=True, blank=True)
- phone = models.CharField(_('Phone'), max_length = 30, blank = True)
- cpf = models.CharField(_('CPF'), max_length = 15, blank=True, null=True)
type_profile = models.IntegerField(_('Type'), null = True, blank = True, choices = ((1, _('Professor')), (2, _('Student')), (3, _('Coordinator'))))
- titration = models.CharField(_('Titration'), max_length = 50, blank = True, null = True)
- year_titration = models.CharField(_('Year of titration'), max_length = 4, blank = True, null = True)
- institution = models.CharField(_('Institution'), max_length = 50, blank=True, null=True)
- curriculum = models.FileField(verbose_name = _('Curriculum'), upload_to='users/curriculum/', null=True, blank=True)
date_created = models.DateTimeField(_('Create Date'), auto_now_add = True)
+ show_email = models.IntegerField(_('Show email?'), null = True, choices = ((1, _('Allow everyone to see my address')), (2, _('Only classmates can see my address')), (3, _('Nobody can see my address'))))
is_staff = models.BooleanField(_('Administrator'), default = False)
is_active = models.BooleanField(_('Active'), default = True)
- USERNAME_FIELD = 'username'
- REQUIRED_FIELDS = ['email']
+ USERNAME_FIELD = 'email'
+ REQUIRED_FIELDS = ['username', 'last_name']
objects = UserManager()
@@ -45,7 +36,7 @@ class User(AbstractBaseUser, PermissionsMixin):
verbose_name_plural = _('Users')
def __str__(self):
- return self.name or self.username
+ return self.social_name or self.username
def save(self, *args, **kwargs):
if not self.is_staff and self.type_profile is None:
@@ -53,9 +44,6 @@ class User(AbstractBaseUser, PermissionsMixin):
super(User, self).save(*args, **kwargs)
- def get_short_name(self):
- return self.name
-
@property
def image_url(self):
if self.image and hasattr(self.image, 'url'):
diff --git a/users/templates/users/login.html b/users/templates/users/login.html
index 04a18ce..eded37e 100644
--- a/users/templates/users/login.html
+++ b/users/templates/users/login.html
@@ -41,8 +41,8 @@
{% csrf_token %}
@@ -51,20 +51,13 @@
-
-
-
-
-
@@ -74,7 +67,6 @@
- {% trans 'Sign Up' %}
diff --git a/users/urls.py b/users/urls.py
index 86755d4..5581027 100644
--- a/users/urls.py
+++ b/users/urls.py
@@ -2,21 +2,7 @@ from django.conf.urls import url
from . import views
-
urlpatterns = [
url(r'^login/$', views.login, name='login'),
- #url(r'^$', views.UsersListView.as_view(), name='manage'),
- url(r'^create/$', views.Create.as_view(), name='create'),
- url(r'^edit/(?P[\w_-]+)/$', views.Update.as_view(), name='update'),
- url(r'^view/(?P[\w_-]+)/$', views.View.as_view(), name='view'),
- url(r'^delete/(?P[\w_-]+)/$', views.delete_user, name='delete'),
- url(r'^remove/(?P[\w_-]+)/$', views.remove_account, name='remove'),
- url(r'^profile/$', views.Profile.as_view(), name='profile'),
- url(r'^search/$', views.SearchView.as_view(), name='search'),
- #
- url(r'^profile/update/$', views.UpdateProfile.as_view(), name='update_profile'),
- url(r'^profile/change_password/$', views.Change_password.as_view(), name='change_password'),
- url(r'^profile/remove_account/$', views.Remove_account.as_view(), name='remove_account'),
- url(r'^profile/delete/$', views.DeleteUser.as_view(), name='delete_profile'),
-
+
]
diff --git a/users/views.py b/users/views.py
index ed25f0f..80e845c 100644
--- a/users/views.py
+++ b/users/views.py
@@ -3,8 +3,9 @@ from django.db.models import Q
from django.views import generic
from django.contrib import messages
from rolepermissions.mixins import HasRoleMixin
+from django.contrib.auth import authenticate, login as login_user
from django.contrib.auth.mixins import LoginRequiredMixin
-from django.core.urlresolvers import reverse_lazy
+from django.core.urlresolvers import reverse, reverse_lazy
from django.utils.translation import ugettext_lazy as _
from rolepermissions.shortcuts import assign_role
from rolepermissions.verifications import has_role
@@ -12,7 +13,6 @@ from itertools import chain
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import User
-from .forms import UserForm, UpdateProfileForm
#API IMPORTS
@@ -21,204 +21,204 @@ from .serializers import UserSerializer
from rest_framework.permissions import IsAuthenticated, IsAuthenticatedOrReadOnly
# ================ ADMIN =======================
-class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView):
-
- allowed_roles = ['system_admin']
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- template_name = 'list_users.html'
- context_object_name = 'users'
- paginate_by = 10
-
- def get_queryset(self):
- search = self.request.GET.get('search', None)
-
- if search is None:
- users = User.objects.all().order_by('name').exclude( username = self.request.user.username)
- else:
- users = User.objects.filter(Q(username = search) | Q(name = search) | Q(name__icontains = search) | Q(username__icontains = search)).exclude( username = self.request.user.username)
-
- return users
-
- def get_context_data (self, **kwargs):
- context = super(UsersListView, self).get_context_data(**kwargs)
- context['title'] = 'Manage Users'
- return context
-
-class Create(HasRoleMixin, LoginRequiredMixin, generic.edit.CreateView):
-
- allowed_roles = ['system_admin']
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- template_name = 'users/create.html'
- form_class = UserForm
- context_object_name = 'acc'
- success_url = reverse_lazy('users:manage')
-
- def form_valid(self, form):
- self.object = form.save()
-
- if self.object.type_profile == 2:
- assign_role(self.object, 'student')
- elif self.object.type_profile == 1:
- assign_role(self.object, 'professor')
- elif self.object.is_staff:
- assign_role(self.object, 'system_admin')
-
- self.object.save()
-
- messages.success(self.request, ('User ')+self.object.name+(' created successfully!'))
-
- return super(Create, self).form_valid(form)
- def get_context_data (self, **kwargs):
- context = super(Create, self).get_context_data(**kwargs)
- context['title'] = "Add User"
- return context
-
-class Update(HasRoleMixin, LoginRequiredMixin, generic.UpdateView):
-
- allowed_roles = ['system_admin']
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- template_name = 'users/update.html'
- slug_field = 'username'
- slug_url_kwarg = 'username'
- context_object_name = 'acc'
- model = User
- form_class = UserForm
- success_url = reverse_lazy('users:manage')
-
- def form_valid(self, form):
- self.object = form.save(commit = False)
-
- if self.object.type_profile == 2:
- assign_role(self.object, 'student')
- elif self.object.type_profile == 1:
- assign_role(self.object, 'professor')
- elif self.object.is_staff:
- assign_role(self.object, 'system_admin')
-
- self.object.save()
-
- messages.success(self.request, _('User ')+self.object.name+_(' updated successfully!'))
-
- return super(Update, self).form_valid(form)
-
- def get_context_data (self, **kwargs):
- context = super(Update, self).get_context_data(**kwargs)
- context['title'] = "Update User"
- return context
-
-class View(LoginRequiredMixin, generic.DetailView):
-
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- model = User
- context_object_name = 'acc'
- template_name = 'users/view.html'
- slug_field = 'username'
- slug_url_kwarg = 'username'
-
- def get_context_data (self, **kwargs):
- context = super(View, self).get_context_data(**kwargs)
- context['title'] = "User"
- return context
-
-def delete_user(request,username):
- user = get_object_or_404(User,username = username)
- user.delete()
- messages.success(request,_("User deleted Successfully!"))
- return redirect('users:manage')
-
-def remove_account(request,username):
- user = get_object_or_404(User,username = username)
- user.delete()
- messages.success(request,_("User deleted Successfully!"))
- #return redirect('core:logout')
-
-class Change_password(generic.TemplateView):
- template_name = 'users/change_password.html'
-
- def get_context_data (self, **kwargs):
- context = super(Change_password, self).get_context_data(**kwargs)
- context['title'] = "Change Password"
- return context
-
-class Remove_account(generic.TemplateView):
- template_name = 'users/remove_account.html'
-
- def get_context_data (self, **kwargs):
- context = super(Remove_account, self).get_context_data(**kwargs)
- context['title'] = "Remove Account"
- return context
-
-class UpdateProfile(LoginRequiredMixin, generic.edit.UpdateView):
- #login_url = reverse_lazy("core:home")
- template_name = 'users/edit_profile.html'
- form_class = UpdateProfileForm
- success_url = reverse_lazy('users:profile')
-
- def get_object(self):
- user = get_object_or_404(User, username = self.request.user.username)
- return user
-
- def get_context_data(self, **kwargs):
- context = super(UpdateProfile, self).get_context_data(**kwargs)
- context['title'] = 'Update Profile'
+# class UsersListView(HasRoleMixin, LoginRequiredMixin, generic.ListView):
+
+# allowed_roles = ['system_admin']
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# template_name = 'list_users.html'
+# context_object_name = 'users'
+# paginate_by = 10
+
+# def get_queryset(self):
+# search = self.request.GET.get('search', None)
+
+# if search is None:
+# users = User.objects.all().order_by('name').exclude( username = self.request.user.username)
+# else:
+# users = User.objects.filter(Q(username = search) | Q(name = search) | Q(name__icontains = search) | Q(username__icontains = search)).exclude( username = self.request.user.username)
+
+# return users
+
+# def get_context_data (self, **kwargs):
+# context = super(UsersListView, self).get_context_data(**kwargs)
+# context['title'] = 'Manage Users'
+# return context
+
+# class Create(HasRoleMixin, LoginRequiredMixin, generic.edit.CreateView):
+
+# allowed_roles = ['system_admin']
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# template_name = 'users/create.html'
+# form_class = UserForm
+# context_object_name = 'acc'
+# success_url = reverse_lazy('users:manage')
+
+# def form_valid(self, form):
+# self.object = form.save()
+
+# if self.object.type_profile == 2:
+# assign_role(self.object, 'student')
+# elif self.object.type_profile == 1:
+# assign_role(self.object, 'professor')
+# elif self.object.is_staff:
+# assign_role(self.object, 'system_admin')
+
+# self.object.save()
+
+# messages.success(self.request, ('User ')+self.object.name+(' created successfully!'))
+
+# return super(Create, self).form_valid(form)
+# def get_context_data (self, **kwargs):
+# context = super(Create, self).get_context_data(**kwargs)
+# context['title'] = "Add User"
+# return context
+
+# class Update(HasRoleMixin, LoginRequiredMixin, generic.UpdateView):
+
+# allowed_roles = ['system_admin']
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# template_name = 'users/update.html'
+# slug_field = 'username'
+# slug_url_kwarg = 'username'
+# context_object_name = 'acc'
+# model = User
+# form_class = UserForm
+# success_url = reverse_lazy('users:manage')
+
+# def form_valid(self, form):
+# self.object = form.save(commit = False)
+
+# if self.object.type_profile == 2:
+# assign_role(self.object, 'student')
+# elif self.object.type_profile == 1:
+# assign_role(self.object, 'professor')
+# elif self.object.is_staff:
+# assign_role(self.object, 'system_admin')
+
+# self.object.save()
+
+# messages.success(self.request, _('User ')+self.object.name+_(' updated successfully!'))
+
+# return super(Update, self).form_valid(form)
+
+# def get_context_data (self, **kwargs):
+# context = super(Update, self).get_context_data(**kwargs)
+# context['title'] = "Update User"
+# return context
+
+# class View(LoginRequiredMixin, generic.DetailView):
+
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# model = User
+# context_object_name = 'acc'
+# template_name = 'users/view.html'
+# slug_field = 'username'
+# slug_url_kwarg = 'username'
+
+# def get_context_data (self, **kwargs):
+# context = super(View, self).get_context_data(**kwargs)
+# context['title'] = "User"
+# return context
+
+# def delete_user(request,username):
+# user = get_object_or_404(User,username = username)
+# user.delete()
+# messages.success(request,_("User deleted Successfully!"))
+# return redirect('users:manage')
+
+# def remove_account(request,username):
+# user = get_object_or_404(User,username = username)
+# user.delete()
+# messages.success(request,_("User deleted Successfully!"))
+# #return redirect('core:logout')
+
+# class Change_password(generic.TemplateView):
+# template_name = 'users/change_password.html'
+
+# def get_context_data (self, **kwargs):
+# context = super(Change_password, self).get_context_data(**kwargs)
+# context['title'] = "Change Password"
+# return context
+
+# class Remove_account(generic.TemplateView):
+# template_name = 'users/remove_account.html'
+
+# def get_context_data (self, **kwargs):
+# context = super(Remove_account, self).get_context_data(**kwargs)
+# context['title'] = "Remove Account"
+# return context
+
+# class UpdateProfile(LoginRequiredMixin, generic.edit.UpdateView):
+# #login_url = reverse_lazy("core:home")
+# template_name = 'users/edit_profile.html'
+# form_class = UpdateProfileForm
+# success_url = reverse_lazy('users:profile')
+
+# def get_object(self):
+# user = get_object_or_404(User, username = self.request.user.username)
+# return user
+
+# def get_context_data(self, **kwargs):
+# context = super(UpdateProfile, self).get_context_data(**kwargs)
+# context['title'] = 'Update Profile'
- context['form'] = UpdateProfileForm(instance = self.object)
+# context['form'] = UpdateProfileForm(instance = self.object)
- return context
+# return context
- def form_valid(self, form):
- form.save()
- messages.success(self.request, _('Profile edited successfully!'))
+# def form_valid(self, form):
+# form.save()
+# messages.success(self.request, _('Profile edited successfully!'))
- return super(UpdateProfile, self).form_valid(form)
+# return super(UpdateProfile, self).form_valid(form)
-class DeleteUser(LoginRequiredMixin, generic.edit.DeleteView):
- allowed_roles = ['student']
- #login_url = reverse_lazy("core:home")
- model = User
+# class DeleteUser(LoginRequiredMixin, generic.edit.DeleteView):
+# allowed_roles = ['student']
+# #login_url = reverse_lazy("core:home")
+# model = User
- #success_url = reverse_lazy('core:index')
- success_message = "Deleted Successfully"
+# #success_url = reverse_lazy('core:index')
+# success_message = "Deleted Successfully"
- def get_queryset(self):
- user = get_object_or_404(User, username = self.request.user.username)
- return user
+# def get_queryset(self):
+# user = get_object_or_404(User, username = self.request.user.username)
+# return user
-class Profile(LoginRequiredMixin, generic.DetailView):
+# class Profile(LoginRequiredMixin, generic.DetailView):
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- context_object_name = 'user'
- template_name = 'users/profile.html'
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# context_object_name = 'user'
+# template_name = 'users/profile.html'
- def get_object(self):
- user = get_object_or_404(User, username = self.request.user.username)
- return user
+# def get_object(self):
+# user = get_object_or_404(User, username = self.request.user.username)
+# return user
- def get_context_data (self, **kwargs):
- context = super(Profile, self).get_context_data(**kwargs)
- context['title'] = "Profile"
- return context
+# def get_context_data (self, **kwargs):
+# context = super(Profile, self).get_context_data(**kwargs)
+# context['title'] = "Profile"
+# return context
-class SearchView(LoginRequiredMixin, generic.ListView):
+# class SearchView(LoginRequiredMixin, generic.ListView):
- #login_url = reverse_lazy("core:home")
- redirect_field_name = 'next'
- queryset = None
- template_name = 'users/search.html'
- paginate_by = 10
+# #login_url = reverse_lazy("core:home")
+# redirect_field_name = 'next'
+# queryset = None
+# template_name = 'users/search.html'
+# paginate_by = 10
- def get_context_data(self, **kwargs):
- context = super(SearchView, self).get_context_data(**kwargs)
- search = self.request.GET.get('search', None)
+# def get_context_data(self, **kwargs):
+# context = super(SearchView, self).get_context_data(**kwargs)
+# search = self.request.GET.get('search', None)
- return context
+# return context
def login(request):
@@ -226,7 +226,7 @@ def login(request):
context['title'] = 'Log In'
if request.POST:
- username = request.POST['username']
+ username = request.POST['email']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
--
libgit2 0.21.2