очистил accounts от лишнего кода

remotes/origin/HEAD
Slava Kyrachevsky 9 years ago
parent c39c639d3a
commit ef3162786a
  1. 50
      apps/accounts/admin.py
  2. 2
      apps/accounts/admin_urls.py
  3. 45
      apps/accounts/forms.py
  4. 16
      apps/accounts/models.py
  5. 2
      apps/accounts/urls.py
  6. 14
      apps/accounts/views.py
  7. 3
      proj/admin.py
  8. 16
      proj/decorators.py
  9. 5
      proj/middleware.py
  10. 6
      proj/views.py

@ -20,8 +20,6 @@ from django.views.generic import DeleteView, TemplateView, UpdateView
from django.views.generic.dates import DateMixin, MonthMixin, YearMixin from django.views.generic.dates import DateMixin, MonthMixin, YearMixin
from forms import ( from forms import (
ChangePasswordForm, ChangePasswordForm,
EmailAnnouncementForm,
UserCreationForm,
UserFilterForm, UserFilterForm,
UserForm UserForm
) )
@ -55,13 +53,6 @@ class UserListView(AdminListView):
return context return context
class EditUser(UpdateView):
model = User
form_class = UserForm
success_url = '/admin/accounts/all'
template_name = 'user_change.html'
def user_change(request, url): def user_change(request, url):
""" """
Return form of user and post it on the server. Return form of user and post it on the server.
@ -116,47 +107,6 @@ def user_change(request, url):
return render_to_response('user_change.html', context) return render_to_response('user_change.html', context)
def create_admin(request):
if request.POST:
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
user.is_admin = False
user.save()
return HttpResponseRedirect('/admin/accounts/all')
else:
form = UserCreationForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('create_admin.html', args)
def create_md5(request):
if request.POST:
form = UserCreationForm(request.POST)
if form.is_valid():
user = User()
user.email = request.POST['email']
user.first_name = request.POST['first_name']
user.last_name = request.POST['last_name']
user.password = md5(request.POST['password2']).hexdigest()
user.is_admin = True
user.save()
return HttpResponseRedirect('/admin/accounts/all')
else:
form = UserCreationForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('create_admin.html', args)
def generatePassword(): def generatePassword():
""" """

@ -3,7 +3,7 @@ from django.conf.urls import patterns, url
from django.core.urlresolvers import reverse_lazy from django.core.urlresolvers import reverse_lazy
from functions.custom_views import SimpleObjectChangeView from functions.custom_views import SimpleObjectChangeView
from .admin import AccountsStatistic, DeleteAccount, EditUser, UserListView from .admin import AccountsStatistic, DeleteAccount, UserListView
from .models import User from .models import User
attrs = { attrs = {

@ -29,43 +29,6 @@ def clean_relation_field(inst, field_name, model):
return None return None
class UserCreationForm(forms.ModelForm):
password1 = forms.CharField(label=_(u'Пароль'), widget=forms.PasswordInput(render_value=False))
password2 = forms.CharField(label=_(u'Повторите пароль'), widget=forms.PasswordInput(render_value=False))
class Meta:
model = User
fields = ('email', 'first_name', 'last_name')
def clean_email(self):
"""
checking if user already exist
"""
email = self.cleaned_data.get('email')
try:
User.objects.get(email=email)
except User.DoesNotExist:
return email
raise forms.ValidationError(_(u'Пользователь с таким email уже существует'))
def clean_password2(self):
password1 = self.cleaned_data.get('password1')
password2 = self.cleaned_data.get('password2')
if password1 and password2 and password1 != password2:
raise forms.ValidationError(_(u'Пароли не совпадают'))
return password2
def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.set_password(self.cleaned_data['password2'])
if commit:
user.save()
return user
class UserForm(forms.ModelForm): class UserForm(forms.ModelForm):
# email = forms.EmailField(widget=forms.TextInput(attrs={'disabled' : True}), required=False) # email = forms.EmailField(widget=forms.TextInput(attrs={'disabled' : True}), required=False)
country = forms.ChoiceField(label=_(u'Страна'), choices=[(item.id, item.name) for item in Country.objects.language().all()], country = forms.ChoiceField(label=_(u'Страна'), choices=[(item.id, item.name) for item in Country.objects.language().all()],
@ -196,14 +159,6 @@ class ChangePasswordForm(forms.Form):
return data return data
class EmailAnnouncementForm(forms.Form):
data = [(1, _(u'Получать приглашения, сообщения и другую корреспонденцию от пользователей Expomap')),
(2, _(u'Получать обзор событий')),
(3, _(u'Получать новости'))]
announcement = forms.MultipleChoiceField(choices=data, widget=forms.CheckboxSelectMultiple())
url_regex = re.compile('^\w*$') url_regex = re.compile('^\w*$')
class RegistrationCompleteForm(forms.ModelForm): class RegistrationCompleteForm(forms.ModelForm):
country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(), country = forms.ModelChoiceField(label=_(u'Страна'), queryset=Country.objects.all(),

@ -141,16 +141,12 @@ class User(AbstractBaseUser, PermissionsMixin, GetURLorPK):
log = UserLog.objects.filter(user_id=self.pk)[0] log = UserLog.objects.filter(user_id=self.pk)[0]
return log return log
def get_full_name(self): def get_full_name(self):
""" """
Returns the first_name plus the last_name, with a space in between. Returns the first_name plus the last_name, with a space in between.
""" """
return u'%s %s'%(self.first_name, self.last_name) return u'%s %s'%(self.first_name, self.last_name)
def set_url(self, st):
self.url = translit_with_separator(u'%s'%st)
def __unicode__(self): def __unicode__(self):
return self.email return self.email
@ -167,9 +163,6 @@ class User(AbstractBaseUser, PermissionsMixin, GetURLorPK):
def has_perm(self, perm, obj=None): def has_perm(self, perm, obj=None):
return True return True
def has_module_perms(self, app_label):
return True
def get_expositions_number(self): def get_expositions_number(self):
# 1 query # 1 query
return self.exposition_users.all().count() return self.exposition_users.all().count()
@ -182,15 +175,6 @@ class User(AbstractBaseUser, PermissionsMixin, GetURLorPK):
# 1 query # 1 query
return self.seminar_users.all().count() return self.seminar_users.all().count()
def get_webinars_number(self):
# 1 query
return self.webinar_users.all().count()
def get_events_number(self):
# 4 query
n = self.get_expositions_number() + self.get_conferences_number() + self.get_seminars_number() + self.get_webinars_number()
return n
def get_permanent_url(self): def get_permanent_url(self):
if self.url: if self.url:
return '/%s/' % self.url return '/%s/' % self.url

@ -9,7 +9,6 @@ from views import (
Feed, Feed,
HomeView, HomeView,
MailingSettings, MailingSettings,
# MailingSettingsUnsubscribe,
NameView, NameView,
PhoneView, PhoneView,
ProfileCompanyView, ProfileCompanyView,
@ -22,7 +21,6 @@ from views import (
urlpatterns = patterns('', urlpatterns = patterns('',
url(r'^profile/company/$', login_required(ProfileCompanyView.as_view())), url(r'^profile/company/$', login_required(ProfileCompanyView.as_view())),
url(r'^profile/mailing/$', login_required(MailingSettings.as_view()), name='accounts-mailing_settings'), url(r'^profile/mailing/$', login_required(MailingSettings.as_view()), name='accounts-mailing_settings'),
# url(r'^profile/mailing/unsubscribe/$', MailingSettingsUnsubscribe.as_view(), name='accounts-mailing_settings_unsubscribe'),
url(r'^profile/settings/$', login_required(SettingsView.as_view()), name='accounts_settings'), url(r'^profile/settings/$', login_required(SettingsView.as_view()), name='accounts_settings'),
url(r'^profile/calendar/remove/$', 'accounts.views.remove_from_calendar'), url(r'^profile/calendar/remove/$', 'accounts.views.remove_from_calendar'),
url(r'^profile/calendar/export/$', 'core.views.download_workbook'), url(r'^profile/calendar/export/$', 'core.views.download_workbook'),

@ -29,7 +29,7 @@ from company.edit_forms import NameForm as CompNameForm, HomeForm as CompHomeFor
from emencia.django.newsletter.forms import SubscribeSettingsForm, MailingSettingsForm from emencia.django.newsletter.forms import SubscribeSettingsForm, MailingSettingsForm
from emencia.django.newsletter.models import Contact, ContactSettings from emencia.django.newsletter.models import Contact, ContactSettings
from .forms import ChangePasswordForm, EmailAnnouncementForm, FeedFilterForm from .forms import ChangePasswordForm, FeedFilterForm
from .models import User from .models import User
from .edit_forms import AvatarForm, NameForm, HomeForm, WorkForm, AboutCompanyForm, PhoneForm, EmailForm,\ from .edit_forms import AvatarForm, NameForm, HomeForm, WorkForm, AboutCompanyForm, PhoneForm, EmailForm,\
WebPageForm, SocialForm, AboutForm WebPageForm, SocialForm, AboutForm
@ -155,18 +155,6 @@ class MailingSettings(GetUserMixin, ContextMixin, AjaxableResponseMixin, CreateU
# print(self.request.POST) # print(self.request.POST)
return super(MailingSettings, self).form_invalid(form) return super(MailingSettings, self).form_invalid(form)
#
# class MailingSettingsUnsubscribe(GetUserMixin, RedirectView):
# url = reverse_lazy('accounts-mailing_settings')
#
# def get(self, request, *args, **kwargs):
# contact = self.get_user()
# if contact is None:
# return HttpResponseForbidden()
# if contact.subscriber:
# contact.unsubscribe()
# return super(MailingSettingsUnsubscribe, self).get(request, *args, **kwargs)
class CalendarView(TemplateView): class CalendarView(TemplateView):
""" """

@ -28,6 +28,7 @@ def ajax_city(request):
objects = City.objects.language().filter(country=request.GET['id']).order_by('name') objects = City.objects.language().filter(country=request.GET['id']).order_by('name')
return render_to_response('select.html', {'objects': objects}) return render_to_response('select.html', {'objects': objects})
def ajax_tag(request): def ajax_tag(request):
""" """
@ -127,14 +128,12 @@ def ajax_post_stat(request, obj_id=None):
def ajax_delete_stat(request, id): def ajax_delete_stat(request, id):
redirect_to = request.META.get('HTTP_REFERER') redirect_to = request.META.get('HTTP_REFERER')
if id: if id:
try: try:
Statistic.objects.get(id=id).delete() Statistic.objects.get(id=id).delete()
except Statistic.DoesNotExist: except Statistic.DoesNotExist:
pass pass
return HttpResponseRedirect(redirect_to) return HttpResponseRedirect(redirect_to)

@ -1,16 +0,0 @@
from functools import wraps
from django.template import RequestContext
from django.shortcuts import render_to_response
def render_to(tpl):
def decorator(func):
@wraps(func)
def wrapper(request, *args, **kwargs):
out = func(request, *args, **kwargs)
if isinstance(out, dict):
out = render_to_response(tpl, out, RequestContext(request))
return out
return wrapper
return decorator

@ -52,8 +52,6 @@ class Referer(object):
for key, val in data_exists.iteritems(): for key, val in data_exists.iteritems():
if val: if val:
if key == 'search': if key == 'search':
print(request.session.get('search', []))
print(request.session.get('search', []))[-2:]
search = request.session.get('search', [])[-2:] search = request.session.get('search', [])[-2:]
search.append(val) search.append(val)
request.session['search'] = search request.session['search'] = search
@ -112,9 +110,6 @@ def check_places(slug):
# https://gist.github.com/b1/3155460 # https://gist.github.com/b1/3155460
""" spaceless middleware
MIDDLEWARE_CLASSES += ('core_utils.middleware.SpacelessMiddleware',)
"""
class SpacelessMiddleware(object): class SpacelessMiddleware(object):
""" trim spaces between tags if not in DEBUG """ """ trim spaces between tags if not in DEBUG """
def process_response(self, request, response): def process_response(self, request, response):

@ -21,12 +21,6 @@ from emencia.django.newsletter.forms import SubscribeAssideForm
from django.db.models.loading import get_model from django.db.models.loading import get_model
def clear_slashes(str_):
if str_[0] == r'/':
str_ = str_[1:]
if str_[-1] == r'/':
str_ = str_[:-1]
return str_
def add_seo(request): def add_seo(request):
url = request.path url = request.path

Loading…
Cancel
Save