remove standart django admin urls and create button which reset user password and send it to user emai

remotes/origin/1203
Nazar Kotjuk 12 years ago
parent e72a03c249
commit a8a789ba89
  1. 1
      accounts/forms.py
  2. 2
      accounts/urls.py
  3. 93
      accounts/views.py
  4. 8
      article/views.py
  5. 8
      city/views.py
  6. 8
      company/views.py
  7. 8
      conference/views.py
  8. 2
      country/forms.py
  9. 8
      country/views.py
  10. 4
      directories/views.py
  11. 8
      exposition/views.py
  12. 5
      functions/custom_views.py
  13. 6
      news/views.py
  14. 6
      organiser/views.py
  15. 8
      place_conference/views.py
  16. 8
      place_exposition/views.py
  17. 5
      proj/settings.py
  18. 6
      proj/urls.py
  19. 4
      proj/views.py
  20. 8
      seminar/views.py
  21. 16
      service/views.py
  22. 2
      static/custom_js/file_delete_ajax.js
  23. 4
      static/custom_js/file_post_ajax.js
  24. 4
      static/custom_js/place_city_ajax.js
  25. 2
      static/custom_js/select_tag.js
  26. 2
      static/custom_js/service.js
  27. 75
      templates/admin/accounts/translator_change.html
  28. 60
      templates/admin/accounts/translators.html
  29. 2
      templates/admin/accounts/user_all.html
  30. 35
      templates/admin/accounts/user_change.html
  31. 6
      templates/admin/article/article_all.html
  32. 6
      templates/admin/city/city_all.html
  33. 6
      templates/admin/company/company_all.html
  34. 6
      templates/admin/conference/conference_all.html
  35. 6
      templates/admin/country/country_all.html
  36. 6
      templates/admin/exposition/exposition_all.html
  37. 2
      templates/admin/news/news_add.html
  38. 4
      templates/admin/news/news_all.html
  39. 6
      templates/admin/organiser/organiser_all.html
  40. 6
      templates/admin/place_conference/place_conference_all.html
  41. 6
      templates/admin/place_exposition/place_exposition_all.html
  42. 6
      templates/admin/seminar/seminar_all.html
  43. 88
      templates/admin/service/review_add.html
  44. 54
      templates/admin/service/review_all.html
  45. 6
      templates/admin/service/service_all.html
  46. 6
      templates/admin/theme/tag_all.html
  47. 6
      templates/admin/theme/theme_all.html
  48. 6
      templates/admin/translator/translator_all.html
  49. 6
      templates/admin/webinar/webinar_all.html
  50. 44
      templates/base.html
  51. 14
      templates/delete.html
  52. 16
      theme/views.py
  53. 8
      translator/views.py
  54. 8
      webinar/views.py

@ -56,6 +56,7 @@ class UserChangeForm(forms.ModelForm):
return self.initial['password']
class UserForm(forms.ModelForm):
email = forms.EmailField(widget=forms.TextInput(attrs={'disabled' : True}))
country = forms.ModelChoiceField(label='Страна', queryset=Country.objects.all(), empty_label=None, required=False)
city = forms.ModelChoiceField(label='Город', queryset=City.objects.all(), empty_label='', required=False)
company = forms.ModelChoiceField(label='Компания', queryset=Company.objects.all(), empty_label='', required=False)

@ -4,7 +4,7 @@ from django.contrib.auth.views import login, logout
urlpatterns = patterns('',
url(r'^login_admin/', login, {'template_name': 'admin/login.html' }),
url(r'^logout_admin', logout, {'next_page': '/accounts/login_admin/'}),
url(r'^logout_admin', logout, {'next_page': '/admin/accounts/login_admin/'}),
url(r'^registration/$', 'accounts.views.registration'),
url(r'^create_admin/$', 'accounts.views.create_admin'),
url(r'^create_md5user/$', 'accounts.views.create_md5'),

@ -3,6 +3,7 @@ from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect, HttpResponse
from django.core.context_processors import csrf
from django.contrib.auth.decorators import login_required
import random
#models and forms
from models import User
from forms import UserForm, UserCreationForm
@ -29,13 +30,13 @@ def user_change(request, url):
user = User.objects.safe_get(url=url)
#redirect to list of all users if cannot find user
if user is None:
return HttpResponseRedirect('/accounts/all')
return HttpResponseRedirect('/admin/accounts/all')
if request.POST:
form = UserForm(request.POST, instance=user)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/all')
return HttpResponseRedirect('/admin/accounts/all')
else:
form = UserForm(instance=user)
@ -53,7 +54,7 @@ def create_admin(request):
user = form.save(commit=False)
user.is_admin = False
user.save()
return HttpResponseRedirect('/accounts/all')
return HttpResponseRedirect('/admin/accounts/all')
else:
form = UserCreationForm()
@ -76,7 +77,7 @@ def create_md5(request):
user.is_admin = True
user.save()
return HttpResponseRedirect('/accounts/all')
return HttpResponseRedirect('/admin/accounts/all')
else:
form = UserCreationForm()
@ -97,7 +98,7 @@ def registration(request):
user = form.save()
email = EmailMessage('Subject', 'Body', to=['%s'%user.email])
email.send()
return HttpResponseRedirect('/accounts/registration')
return HttpResponseRedirect('/admin/accounts/registration')
else:
form = UserCreationForm()
@ -108,14 +109,90 @@ def registration(request):
return render_to_response('registration.html', args)
def reset_password_email(request):
def generatePassword():
"""
generate random password from 8 symbols
"""
SYMBOLS = [',', '.', '?', '!', '-', '+', '1', '2', '3', '4', '5', '6', '7', '8',
'9', '0', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A',
'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '#']
PASSWORD_LENGTH = 8
newPassword = []
for i in range(PASSWORD_LENGTH):
newPassword.append(SYMBOLS[random.randrange(0, len(SYMBOLS))])
return ''.join(newPassword)
from django.conf import settings
def reset_password_email(request):
"""
generate random password
set this password to user and send on email
"""
if request.GET:
user = User.objects.get(email=request.GET['email'])
user.set_password(u'qwerty')
new_pass = generatePassword()
user.email_user('Reset password', 'Your new password: "%s" '%new_pass, settings.DEFAULT_FROM_EMAIL, )
user.set_password(u'%s'%new_pass)
user.save()
return HttpResponse('success')
return HttpResponse('error')
#--------------------------------------------------------------
'''
from django.views.decorators.debug import sensitive_post_parameters
from django.views.decorators.cache import never_cache
from django.views.decorators.csrf import csrf_protect
from django.utils.http import base36_to_int, is_safe_url
from django.shortcuts import resolve_url
from django.conf import settings
from django.conf.global_settings import LOGIN_REDIRECT_URL
from django.contrib.auth.forms import AuthenticationForm
@sensitive_post_parameters()
@csrf_protect
@never_cache
def login(request, template_name='registration/login.html',
redirect_field_name=REDIRECT_FIELD_NAME,
authentication_form=AuthenticationForm,
current_app=None, extra_context=None):
"""
Displays the login form and handles the login action.
"""
redirect_to = request.REQUEST.get(redirect_field_name, '')
if request.method == "POST":
form = authentication_form(data=request.POST)
if form.is_valid():
# Ensure the user-originating redirection url is safe.
if not is_safe_url(url=redirect_to, host=request.get_host()):
redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)
# Okay, security check complete. Log the user in.
auth_login(request, form.get_user())
if request.session.test_cookie_worked():
request.session.delete_test_cookie()
return HttpResponseRedirect(redirect_to)
else:
return HttpResponse('error')
form = authentication_form(request)
request.session.set_test_cookie()
current_site = get_current_site(request)
context = {
'form': form,
redirect_field_name: redirect_to,
'site': current_site,
'site_name': current_site.name,
}
if extra_context is not None:
context.update(extra_context)
return TemplateResponse(request, template_name, context,
current_app=current_app)
'''

@ -31,12 +31,12 @@ def article_add(request):
init_data = {'author':request.user.organiser}
#choices field which will be filled by ajax
choices = {'tag': Tag}
return add_object_with_file(request, ArticleForm, 'article_add.html', '/article/all',
return add_object_with_file(request, ArticleForm, 'article_add.html', '/admin/article/all',
choices, init_data)
def article_delete(request, url):
return delete_object(request, Article, ArticleDeleteForm, url, '/article/all')
return delete_object(request, Article, ArticleDeleteForm, url, '/admin/article/all')
@login_required
@ -52,7 +52,7 @@ def article_change(request, url):
file_form = FileModelForm(initial={'model': 'article.Article'})
article_id = getattr(article, 'id')
except:
return HttpResponseRedirect('/article/all')
return HttpResponseRedirect('/admin/article/all')
if request.POST:
form = ArticleForm(request.POST)
@ -61,7 +61,7 @@ def article_change(request, url):
if form.is_valid():
form.save(getattr(article, 'id'))
return HttpResponseRedirect('/article/all')
return HttpResponseRedirect('/admin/article/all')
else:
data = {}
#fill form with data from database

@ -26,10 +26,10 @@ def city_add(request):
Return form of city and post it on the server.
If form is posted redirect on the page of all cities.
"""
return add_object_with_file(request, CityForm, 'city_add.html', '/city/all')
return add_object_with_file(request, CityForm, 'city_add.html', '/admin/city/all')
def city_delete(request, url):
return delete_object(request, City, CityDeleteForm, url, '/city/all/')
return delete_object(request, City, CityDeleteForm, url, '/admin/city/all/')
@login_required
@ -45,13 +45,13 @@ def city_change(request, url):
city_id = getattr(c, 'id')
file_form = FileModelForm(initial={'model': 'city.City'})
except:
return HttpResponseRedirect('/city/all')
return HttpResponseRedirect('/admin/city/all')
if request.POST:
form = CityForm(request.POST)
if form.is_valid():
form.save(city_id)
return HttpResponseRedirect('/city/all')
return HttpResponseRedirect('/admin/city/all')
else:
#fill form with data from database
data = {'population' : c.population, 'phone_code' : c.phone_code,

@ -28,11 +28,11 @@ def company_add(request):
Return form of company and post it on the server.
If form is posted redirect on the page of all companies.
"""
return add_object_with_file(request, CompanyForm, 'company_add.html', '/company/all/',
return add_object_with_file(request, CompanyForm, 'company_add.html', '/admin/company/all/',
{'city': City, 'tag': Tag})
def company_delete(request, url):
return delete_object(request, Company, CompanyDeleteForm, url, '/company/all')
return delete_object(request, Company, CompanyDeleteForm, url, '/admin/company/all')
@login_required
@ -48,7 +48,7 @@ def company_change(request, url):
company = Company.objects.safe_get(id=url)
#redirect to list of all companies if cannot find user
if company is None:
return HttpResponseRedirect('/company/all/')
return HttpResponseRedirect('/admin/company/all/')
company_id = getattr(company, 'id')
file_form = FileModelForm(initial={'model': 'company.Company'})
@ -61,7 +61,7 @@ def company_change(request, url):
if form.is_valid():
form.save(company_id)
return HttpResponseRedirect('/company/all/')
return HttpResponseRedirect('/admin/company/all/')
else:
#fill form with data from database
data = {'url':company.url, 'staff_number':company.staff_number, 'address': company.address,

@ -50,7 +50,7 @@ def conference_add(request):
if form.is_valid():
form.save()
return HttpResponseRedirect('/conference/all/')
return HttpResponseRedirect('/admin/conference/all/')
else:
form = ConferenceCreateForm(initial={'key': key})
@ -66,7 +66,7 @@ def conference_add(request):
def conference_delete(request, url):
return delete_object(request, Conference, ConferenceDeleteForm, url, '/conference/all')
return delete_object(request, Conference, ConferenceDeleteForm, url, '/admin/conference/all')
@login_required
@ -82,7 +82,7 @@ def conference_change(request, url):
conference = Conference.objects.get(url=url)
file_form = FileModelForm(initial={'model': 'city.City'})
except:
return HttpResponseRedirect('/conference/all/')
return HttpResponseRedirect('/admin/conference/all/')
if request.POST:
form = ConferenceChangeForm(request.POST)
@ -92,7 +92,7 @@ def conference_change(request, url):
if form.is_valid():
form.save(getattr(conference, 'id'))
return HttpResponseRedirect('/conference/all/')
return HttpResponseRedirect('/admin/conference/all/')
else:
#fill form with data from database
data = {'web_page':conference.web_page, 'foundation_year': conference.foundation_year,

@ -81,7 +81,7 @@ class CountryForm(forms.Form):
# first iteration is a default lang so it required fields
required = True if lid == 0 else False
self.fields['name_%s' % code] = forms.CharField(label='Название', required=required)
self.fields['description_%s' % code] = forms.CharField(label='Описание', required=False, widget=CKEditorWidget)#with saving form
self.fields['description_%s' % code] = forms.CharField(label='Описание', required=False, widget=CKEditorWidget)
self.fields['transport_%s' % code] = forms.CharField(label='Транспорт', required=False, widget=CKEditorWidget)
#vis inf
self.fields['rules_%s' % code] = forms.CharField(label='Правила въезда', required=False, widget=CKEditorWidget())

@ -29,11 +29,11 @@ def country_add(request):
"""
Return form of country and file and post it on the server.
"""
return add_object_with_file(request, CountryForm, 'country_add.html', '/country/all/')
return add_object_with_file(request, CountryForm, 'country_add.html', '/admin/country/all/')
def country_delete(request, url):
return delete_object(request, Country, CountryDeleteForm, url, '/country/all/')
return delete_object(request, Country, CountryDeleteForm, url, '/admin/country/all/')
@login_required
@ -53,7 +53,7 @@ def country_change(request, url):
#initial hidden input for checking model of object
file_form = FileModelForm(initial={'model': 'country.Country'})
except:
return HttpResponseRedirect('/country/all')
return HttpResponseRedirect('/admin/country/all')
if request.POST:
#country_id sending for saving capital field in __init__
@ -61,7 +61,7 @@ def country_change(request, url):
if form.is_valid():
form.save(country_id)
return HttpResponseRedirect('/country/all/')
return HttpResponseRedirect('/admin/country/all/')
else:
#fill form with data from database
data = {'population' : c.population, 'teritory' : c.teritory, #data from NOT translated fields

@ -8,11 +8,11 @@ def language_add(request):
"""
Return LanguageForm and post it on the server
"""
return add_object(request, LanguageForm, 'directories_add.html', '/language/add')
return add_object(request, LanguageForm, 'directories_add.html', '/admin/language/add')
def currency_add(request):
"""
Return CurrencyForm and post it on the server
"""
return add_object(request, CurrencyForm, 'directories_add.html', '/currency/add')
return add_object(request, CurrencyForm, 'directories_add.html', '/admin/currency/add')

@ -50,7 +50,7 @@ def exposition_add(request):
if form.is_valid():
form.save()
return HttpResponseRedirect('/exposition/all/')
return HttpResponseRedirect('/admin/exposition/all/')
else:
form = ExpositionCreateForm(initial={'key': key})
@ -65,7 +65,7 @@ def exposition_add(request):
def exposition_delete(request, url):
return delete_object(request, Exposition, ExpositionDeleteForm, url, '/exposition/all')
return delete_object(request, Exposition, ExpositionDeleteForm, url, '/admin/exposition/all')
@login_required
@ -81,7 +81,7 @@ def exposition_change(request, url):
exposition = Exposition.objects.get(url=url)
file_form = FileModelForm(initial={'model': 'exposition.Exposition'})
except:
return HttpResponseRedirect('/exposition/all/')
return HttpResponseRedirect('/admin/exposition/all/')
if request.POST:
form = ExpositionChangeForm(request.POST)
@ -91,7 +91,7 @@ def exposition_change(request, url):
if form.is_valid():
form.save(getattr(exposition, 'id'))
return HttpResponseRedirect('/exposition/all/')
return HttpResponseRedirect('/admin/exposition/all/')
else:
#fill form with data from database
data = {'web_page':exposition.web_page, 'foundation_year': exposition.foundation_year,

@ -4,6 +4,7 @@ from django.http import HttpResponseRedirect
from django.core.context_processors import csrf
from django.conf import settings
from django.contrib.auth.decorators import login_required
from django.contrib.admin.views.decorators import staff_member_required
from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage
from django.db.models.deletion import ProtectedError
#forms and models
@ -15,7 +16,7 @@ import random
@login_required
@staff_member_required
def objects_list(request, Model, template, item_per_page=10):
"""
Return template with all objects of model Model
@ -145,7 +146,7 @@ def delete_object(request, Model, Form, url, prev_page,):
object.delete()
return HttpResponseRedirect(prev_page)
except ProtectedError:
msg = 'Удаления %s требует удаления связаных объектов'%object
msg = u'Удаления %s требует удаления связаных объектов'%object
return render_to_response('delete.html', {'msg':msg, 'prev_page':prev_page})
else:

@ -54,7 +54,7 @@ def news_add(request):
if form.is_valid():
form.save()
return HttpResponseRedirect('/news/all/')
return HttpResponseRedirect('/admin/news/all/')
else:
form = NewsForm(initial={'key': key})
@ -81,7 +81,7 @@ def news_change(request, url):
news_id = getattr(news, 'id')
file_form = FileModelForm(initial={'model': 'news.News'})
except:
return HttpResponseRedirect('/news/all')
return HttpResponseRedirect('/admin/news/all')
if request.POST:
form = NewsForm(request.POST)
@ -95,7 +95,7 @@ def news_change(request, url):
if form.is_valid():
form.save(news_id)
return HttpResponseRedirect('/news/all')
return HttpResponseRedirect('/admin/news/all')
else:
#fill form with data from database
data = {'date':news.date, 'type':news.type, 'paid': news.paid}

@ -33,7 +33,7 @@ def organiser_add(request):
Return form of organiser and post it on the server.
If form is posted redirect on the page of all organiser.
"""
return add_object_with_file(request, OrganiserForm, 'organiser_add.html', '/organiser/all/',
return add_object_with_file(request, OrganiserForm, 'organiser_add.html', '/admin/organiser/all/',
choices={'city': City, 'tag': Tag})
@ -49,7 +49,7 @@ def organiser_change(request, url):
organiser = Organiser.objects.safe_get(id=url)
#redirect to list of all organisers if cannot find organiser
if organiser is None:
return HttpResponseRedirect('/organiser/all/')
return HttpResponseRedirect('/admin/organiser/all/')
#get id
organiser_id = getattr(organiser, 'id')
#init FileModelForm
@ -63,7 +63,7 @@ def organiser_change(request, url):
if form.is_valid():
form.save(id=organiser_id)
return HttpResponseRedirect('/organiser/all/')
return HttpResponseRedirect('/admin/organiser/all/')
else:
#fill form with data from database
data = {'staff_number':organiser.staff_number, 'address': organiser.address,

@ -62,7 +62,7 @@ def conference_add(request):
hall.place_conference = place_conference
hall.save()
return HttpResponseRedirect ('/place_conference/all')
return HttpResponseRedirect ('/admin/place_conference/all')
else:
form = ConferenceForm(initial={'key': key})
formset = HallFormSet()
@ -80,7 +80,7 @@ def conference_add(request):
def conference_delete(request, url):
return delete_object(request, PlaceConference, PlaceConferenceFormDelete, url, '/place_conference/all')
return delete_object(request, PlaceConference, PlaceConferenceFormDelete, url, '/admin/place_conference/all')
@login_required
@ -96,7 +96,7 @@ def conference_change(request, url):
place = PlaceConference.objects.get(url=url)
file_form = FileModelForm(initial={'model': 'place_conference.PlaceConference'})
except:
return HttpResponseRedirect('/place_conference/all')
return HttpResponseRedirect('/admin/place_conference/all')
if request.POST:
#formset of HallForm
@ -117,7 +117,7 @@ def conference_change(request, url):
hall.place_conference = place_conference
hall.save()
return HttpResponseRedirect('/place_conference/all')
return HttpResponseRedirect('/admin/place_conference/all')
else:
#initial HallFormSet
HallFormSet = modelformset_factory(Hall, form=HallForm, exclude=('place_conference',))

@ -61,7 +61,7 @@ def exposition_add(request):
hall.place_exposition = place_exposition
hall.save()
return HttpResponseRedirect('/place_exposition/all')
return HttpResponseRedirect('/admin/place_exposition/all')
else:
form = ExpositionForm(initial={'key': key})
formset = HallFormSet()
@ -79,7 +79,7 @@ def exposition_add(request):
def exposition_delete(request, url):
return delete_object(request, PlaceExposition, PlaceExpositionFormDelete, url, '/place_exposition/all')
return delete_object(request, PlaceExposition, PlaceExpositionFormDelete, url, '/admin/place_exposition/all')
@login_required
@ -97,7 +97,7 @@ def exposition_change(request, url):
exposition_id = getattr(place, 'id')
file_form = FileModelForm(initial={'model': 'place_exposition.PlaceExposition'})
except:
return HttpResponseRedirect('/place_exposition/all')
return HttpResponseRedirect('/admin/place_exposition/all')
if request.POST:
#formset of HallForm
@ -118,7 +118,7 @@ def exposition_change(request, url):
hall.place_exposition = place_exposition
hall.save()
return HttpResponseRedirect('/place_exposition/all')
return HttpResponseRedirect('/admin/place_exposition/all')
else:
#initial HallFormSet
HallFormSet = modelformset_factory(Hall, form=HallForm, exclude=('place_exposition',))

@ -165,7 +165,10 @@ TEMPLATE_DIRS = (
AUTH_USER_MODEL = 'accounts.User'
#AUTH_PROFILE_MODULE = 'accounts.UserProfile'
LOGIN_REDIRECT_URL = ''
#for admin. for project will be another
LOGIN_URL = '/admin/accounts/login_admin'
LOGIN_REDIRECT_URL = '/admin'
#registration info
ACCOUNT_ACTIVATION_DAYS=2

@ -6,13 +6,11 @@ from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
#uncomment to enable django admin
#url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'proj.views.home', name='home'),
url(r'^admin/', include('proj.admin_urls')),
url(r'^accounts/', include('registration.backends.default.urls')),
#uncomment to enable django admin
#url(r'^admin/', include(admin.site.urls)),
)
'''
urlpatterns = patterns('',

@ -17,7 +17,7 @@ from theme.models import Tag
from django.shortcuts import get_object_or_404
from django.db.models.loading import get_model
@login_required
def home(request):
return render_to_response('base.html')
@ -31,7 +31,7 @@ def settings(request):
form = SettingsForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/country/all')
return HttpResponseRedirect('/admin')
else:
form = SettingsForm()

@ -48,7 +48,7 @@ def seminar_add(request):
if form.is_valid():
form.save()
return HttpResponseRedirect('/seminar/all')
return HttpResponseRedirect('/admin/seminar/all')
else:
form = SeminarCreateForm(initial={'key': key})
@ -64,7 +64,7 @@ def seminar_add(request):
def seminar_delete(request, url):
return delete_object(request, Seminar, SeminarDeleteForm, url, '/seminar/all')
return delete_object(request, Seminar, SeminarDeleteForm, url, '/admin/seminar/all')
@login_required
@ -80,7 +80,7 @@ def seminar_change(request, url):
seminar = Seminar.objects.get(url=url)
file_form = FileModelForm(initial={'model': 'seminar.Seminar'})
except:
return HttpResponseRedirect('/seminar/all')
return HttpResponseRedirect('/admin/seminar/all')
if request.POST:
form = SeminarChangeForm(request.POST)
@ -92,7 +92,7 @@ def seminar_change(request, url):
form.fields['city'].choices = [(item.id, item.name) for item in City.objects.filter(country=request.POST['country'])]
if form.is_valid():
form.save(getattr(seminar, 'id'))
return HttpResponseRedirect('/seminar/all')
return HttpResponseRedirect('/admin/seminar/all')
else:
#fill form with data from database
data = {'web_page':seminar.web_page, 'foundation_year': seminar.foundation_year,

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
from django.shortcuts import render_to_response
from django.http import HttpResponseRedirect
from django.http import HttpResponseRedirect, HttpResponse
from django.core.context_processors import csrf
from django.conf import settings
from django.contrib.auth.decorators import login_required
@ -20,7 +20,7 @@ def service_all(request):
return objects_list(request, Service, 'service_all.html')
def service_delete(request, url):
return delete_object(request, Service, ServiceDeleteForm, url, '/service/all')
return delete_object(request, Service, ServiceDeleteForm, url, '/admin/service/all')
@login_required
@ -29,7 +29,7 @@ def service_change(request, url):
service = Service.objects.get(url=url)
service_id = getattr(service, 'id')
except:
return HttpResponseRedirect('/service/all')
return HttpResponseRedirect('/admin/service/all')
if request.POST:
form = ServiceForm(request.POST)
form.fields['city'].choices = [(item.id, item.name) for item in City.objects.all()]
@ -37,7 +37,7 @@ def service_change(request, url):
if form.is_valid():
form.save(service_id)
return HttpResponseRedirect('/service/all')
return HttpResponseRedirect('/admin/service/all')
else:
data = {}
try:
@ -85,7 +85,7 @@ def service_add(request):
form = ServiceForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/service/all')
return HttpResponseRedirect('/admin/service/all')
else:
form = ServiceForm()
@ -102,9 +102,13 @@ def get_country(request):
country_region = request.GET['region']
countries = Country.objects.filter(region=country_region)
return render_to_response('checkbox_option.html', {'options': countries})
else:
return HttpResponse('error')
def get_city(request):
if request.GET:
country_id = request.GET['id']
cities = City.objects.filter(country=country_id)
return render_to_response('checkbox_option.html', {'options': cities})
return render_to_response('checkbox_option.html', {'options': cities})
else:
return HttpResponse('error')

@ -1,6 +1,6 @@
$(document).ready(function(){
$('.delete_file').click(function(){
var url = '/ajax_delete_file/';
var url = '/admin/ajax_delete_file/';
$.get(
url, {'id': $(this).attr("value")}, function(j){
$('#file_list').html(j);

@ -5,10 +5,10 @@ $(document).ready(function(){
//check if country is new
if ($('#obj_id').val() != '') {
var url = '/ajax_post_file/'+$('#obj_id').val()+'/';
var url = '/admin/ajax_post_file/'+$('#obj_id').val()+'/';
}
else {
var url = '/ajax_post_file/'
var url = '/admin/ajax_post_file/'
}
$.ajax({

@ -1,14 +1,14 @@
$(document).ready(function(){
$.get(
"/ajax_city/", {'id': $('#id_country').val()}, function(j){
"/admin/ajax_city/", {'id': $('#id_country').val()}, function(j){
$('#id_city').html(j);
//$('#id_city option :first').attr("selected", "selected");
});
$('#id_country').change(function(){
$.get(
"/ajax_city/", {'id': $(this).val()}, function(j){
"/admin/ajax_city/", {'id': $(this).val()}, function(j){
$('#id_city').html(j);
$('#id_city').attr('disabled', false);

@ -1,7 +1,7 @@
$(document).ready(function(){
$('#id_theme').change(function(){
$.get(
"/ajax_tag/", {'id': $(this).serialize()}, function(j){
"/admin/ajax_tag/", {'id': $(this).serialize()}, function(j){
if (j!='error'){
$('#id_tag').html(j);
$('#id_tag').attr('disabled', false);

@ -19,7 +19,7 @@ $(document).ready(function(){
var $this = $(this);
if ($this.is(':checked')){
$.get(
"/service/get_city/",
"/admin/service/get_city/",
{'id': $(this).val()},
function(j){
$this.parent().after(j);

@ -1,75 +0,0 @@
{% extends 'base.html' %}
{% block body %}
<form method="post" class="form-horizontal" enctype="multipart/form-data"> {% csrf_token %}
<fieldset>
<legend><i class="icon-edit"></i>Изменить переводчика</legend>
<div class="box span8">
<div class="box-header well">
<h2><i class="icon-pencil"></i>Информация</h2>
</div>
<div class="box-content">
{# education #}
<div class="control-group {% if form.education.errors %}error{% endif %}">
<label class="control-label">{{ form.education.label }}:</label>
<div class="controls">{{ form.education }}
<span class="help-inline">{{ form.education.errors }}</span>
</div>
</div>
{# specialization #}
<div class="control-group {% if form.specialization.errors %}error{% endif %}">
<label class="control-label">{{ form.specialization.label }}:</label>
<div class="controls">{{ form.specialization }}
<span class="help-inline">{{ form.specialization.errors }}</span>
</div>
</div>
{# languages #}
<div class="control-group {% if form.languages.errors %}error{% endif %}">
<label class="control-label">{{ form.languages.label }}:</label>
<div class="controls">{{ form.languages }}
<span class="help-inline">{{ form.languages.errors }}</span>
</div>
</div>
{# native_language #}
<div class="control-group {% if form.native_language.errors %}error{% endif %}">
<label class="control-label">{{ form.native_language.label }}:</label>
<div class="controls">{{ form.native_language }}
<span class="help-inline">{{ form.native_language.errors }}</span>
</div>
</div>
{# car #}
<div class="control-group {% if form.car.errors %}error{% endif %}">
<label class="control-label">{{ form.car.label }}:</label>
<div class="controls">{{ form.car }}
<span class="help-inline">{{ form.car.errors }}</span>
</div>
</div>
{# prices #}
<div class="control-group {% if form.prices.errors %}error{% endif %}">
<label class="control-label">{{ form.prices.label }}:</label>
<div class="controls">{{ form.prices }}
<span class="help-inline">{{ form.prices.errors }}</span>
</div>
</div>
{# discounts #}
<div class="control-group {% if form.discounts.errors %}error{% endif %}">
<label class="control-label">{{ form.discounts.label }}:</label>
<div class="controls">{{ form.discounts }}
<span class="help-inline">{{ form.discounts.errors }}</span>
</div>
</div>
</div>
</div>
<div class="controls">
<input class="btn btn-large btn-primary" type="submit" value="Добавить">
<input class="btn btn-large" type="reset" value="Отмена">
</div>
</div>
</fieldset>
</form>
{% endblock %}

@ -1,60 +0,0 @@
{% extends 'base.html' %}
{% block body %}
<div class="box span8">
<div class="box-header well">
<h2><i class="icon-arrow-down"></i>Список переводчиков</h2>
</div>
<div class="box-content">
<table class="table table-hover">
<thead>
<tr>
<th>id</th>
<th>Email</th>
<th>Полное имя</th>
<th>Переводчик</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
{% for item in objects %}
<tr>
<td>{{ item.id }}</td>
<td>{{ item.email }}</td>
<td>{{ item.get_full_name }}</td>
{% if item.is_translator %}
<td>Да</td>
{% else %}
<td>&nbsp;</td>
{% endif %}
<td class="center sorting_1">
<a class="btn btn-info" href="/accounts/translators/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{# pagination #}
<div class="pagination pagination-centered">
<ul>
{% if objects.has_previous %}
<li> <a href="?page={{ objects.previous_page_number }}"></a></li>
{% endif %}
{% if objects.has_next %}
<li><a href="?page={{ objects.next_page_number }}"></a></li>
{% endif %}
</ul>
</div>
</div>
{% endblock %}

@ -38,7 +38,7 @@
<td>&nbsp;</td>
{% endif %}
<td class="center sorting_1">
<a class="btn btn-info" href="/accounts/change/{% if item.url %}{{ item.url }}{% else %}{{ item.id }}{% endif %}">
<a class="btn btn-info" href="/admin/accounts/change/{% if item.url %}{{ item.url }}{% else %}{{ item.id }}{% endif %}">
<i class="icon-edit icon-white"></i> Изменить
</a>
</td>

@ -13,14 +13,25 @@
$(document).ready(function(){
$('#rst_pswd').click(function(){
$.get(
"/accounts/reset_password_email/", {'email': $('#id_email').val()}, function(j){
alert(j);
"/admin/accounts/reset_password_email/", {'email': $('#id_email').val()}, function(j){
console.log(j);
if (j =='success'){
$('#success_reset').show().delay(2000).fadeOut();
}
else{
$('#error_reset').show().delay(2000).fadeOut();
}
});
return false;
})
})
</script>
<style>
.alert{
display: none;
}
</style>
{% endblock %}
@ -40,10 +51,26 @@
<div class="control-group {% if form.email.errors %}error{% endif %}">
<label class="control-label">{{ form.email.label }}:</label>
<div class="controls">
{{ form.email }}
{{ form.email }} <a class="btn btn-mini" id="rst_pswd" href="#">Сбросить пароль</a>
<span class="help-inline">{{ form.email.errors }}</span>
</div>
</div>
<div class="alert alert-success" id="success_reset">
<div class="control-group">
<div class="controls">
<p>Пароль успешно сброшен</p>
</div>
</div>
</div>
<div class="alert alert-error" id="error_reset">
<div class="control-group" >
<div class="controls">
<p>Неудача</p>
</div>
</div>
</div>
{# first_name #}
<div class="control-group {% if form.first_name.errors %}error{% endif %}">
<label class="control-label">{{ form.first_name.label }}:</label>

@ -26,10 +26,10 @@ Displays lists of all articles in the table
<td>{{ item.main_title }}</td>
<td>{% ifnotequal item.user None %}{{ item.user }} {% endifnotequal %}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/article/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/article/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/article/delete/{{ item.url }}/">
<a class="btn btn-danger delete" href="/admin/article/delete/{{ item.url }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -37,7 +37,7 @@ Displays lists of all articles in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/article/add"><i class="icon-plus-sign icon-white"></i> Добавить статью</a>
<a class="btn btn-success" href="/admin/article/add"><i class="icon-plus-sign icon-white"></i> Добавить статью</a>
</div>
<div class="pagination pagination-centered">

@ -26,10 +26,10 @@ Displays lists of all cities in the table
<td>{{ item.name }}</td>
<td>{% ifnotequal item.country.name None %}{{ item.country }} {% endifnotequal %}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/city/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/city/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/city/delete/{{ item.url }}/">
<a class="btn btn-danger delete" href="/admin/city/delete/{{ item.url }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -37,7 +37,7 @@ Displays lists of all cities in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/city/add"><i class="icon-plus-sign icon-white"></i> Добавить город</a>
<a class="btn btn-success" href="/admin/city/add"><i class="icon-plus-sign icon-white"></i> Добавить город</a>
</div>
<div class="pagination pagination-centered">

@ -26,11 +26,11 @@ Displays lists of all companies in the table
<td>{{ item.name }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/company/change/{% if item.url %}{{ item.url }}{% else %}{{ item.id }}{% endif %}">
<a class="btn btn-info" href="/admin/company/change/{% if item.url %}{{ item.url }}{% else %}{{ item.id }}{% endif %}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/company/delete/{{ item.id }}">
<a class="btn btn-danger" href="/admin/company/delete/{{ item.id }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -38,7 +38,7 @@ Displays lists of all companies in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/company/add"><i class="icon-plus-sign icon-white"></i> Добавить компанию</a>
<a class="btn btn-success" href="/admin/company/add"><i class="icon-plus-sign icon-white"></i> Добавить компанию</a>
{# pagination #}
<div class="pagination pagination-centered">
<ul>

@ -25,11 +25,11 @@
<td>{{ item.data_begin }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/conference/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/conference/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/conference/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/conference/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/conference/add"><i class="icon-plus-sign icon-white"></i> Добавить конференцию</a>
<a class="btn btn-success" href="/admin/conference/add"><i class="icon-plus-sign icon-white"></i> Добавить конференцию</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -28,10 +28,10 @@ Displays lists of all countries in the table
<td>{{ item.name }}</td>
<td>{% ifnotequal item.capital None %}{{ item.capital }} {% endifnotequal %}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/country/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/country/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/country/delete/{{ item.url }}/">
<a class="btn btn-danger delete" href="/admin/country/delete/{{ item.url }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -40,7 +40,7 @@ Displays lists of all countries in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/country/add"><i class="icon-plus-sign icon-white"></i> Добавить страну</a>
<a class="btn btn-success" href="/admin/country/add"><i class="icon-plus-sign icon-white"></i> Добавить страну</a>
<div class="pagination pagination-centered">

@ -25,11 +25,11 @@
<td>{{ item.data_begin }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/exposition/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/exposition/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/exposition/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/exposition/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/exposition/add"><i class="icon-plus-sign icon-white"></i> Добавить выставку</a>
<a class="btn btn-success" href="/admin/exposition/add"><i class="icon-plus-sign icon-white"></i> Добавить выставку</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -21,7 +21,7 @@
});//end datetimepicker
$('#id_event').change(function(){
$.get(
"/news/event/", {'model': $(this).val()}, function(j){
"/admin/news/event/", {'model': $(this).val()}, function(j){
$('#id_event_id').html(j);
});//end .get
});//end change

@ -28,7 +28,7 @@ Displays lists of all news in the table
<td>{{ item.main_title }}</td>
<td>{{ item.type }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/news/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/news/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
</td>
@ -36,7 +36,7 @@ Displays lists of all news in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/news/add"><i class="icon-plus-sign icon-white"></i> Добавить новость</a>
<a class="btn btn-success" href="/admin/news/add"><i class="icon-plus-sign icon-white"></i> Добавить новость</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -24,11 +24,11 @@ Displays lists of all organisers in the table
<td>{{ item.id }}</td>
<td>{{ item.name }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/organiser/change/{{ item.id }}">
<a class="btn btn-info" href="/admin/organiser/change/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/organiser/delete/{{ item.id }}">
<a class="btn btn-danger" href="/admin/organiser/delete/{{ item.id }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -36,7 +36,7 @@ Displays lists of all organisers in the table
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/organiser/add"><i class="icon-plus-sign icon-white"></i> Добавить организатора</a>
<a class="btn btn-success" href="/admin/organiser/add"><i class="icon-plus-sign icon-white"></i> Добавить организатора</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -27,11 +27,11 @@
<td>{% ifnotequal item.country None %}{{ item.country }} {% endifnotequal %}</td>
<td>{% ifnotequal item.city None %}{{ item.city }} {% endifnotequal %}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/place_conference/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/place_conference/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/place_conference/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/place_conference/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/place_conference/add"><i class="icon-plus-sign icon-white"></i> Добавить конферец зал</a>
<a class="btn btn-success" href="/admin/place_conference/add"><i class="icon-plus-sign icon-white"></i> Добавить конферец зал</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -27,11 +27,11 @@
<td>{% ifnotequal item.country None %}{{ item.country }} {% endifnotequal %}</td>
<td>{% ifnotequal item.city None %}{{ item.city }} {% endifnotequal %}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/place_exposition/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/place_exposition/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/place_exposition/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/place_exposition/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/place_exposition/add"><i class="icon-plus-sign icon-white"></i> Добавить выставочный центр</a>
<a class="btn btn-success" href="/admin/place_exposition/add"><i class="icon-plus-sign icon-white"></i> Добавить выставочный центр</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -25,11 +25,11 @@
<td>{{ item.data_begin }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/seminar/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/seminar/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/seminar/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/seminar/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/seminar/add"><i class="icon-plus-sign icon-white"></i> Добавить семинар</a>
<a class="btn btn-success" href="/admin/seminar/add"><i class="icon-plus-sign icon-white"></i> Добавить семинар</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -1,88 +0,0 @@
{% extends 'base.html' %}
{% load static %}
{% block scripts %}
<script src="{% static 'ckeditor/ckeditor/ckeditor.js' %}"></script>
{# selects #}
<link href="{% static 'js/select/select2.css' %}" rel="stylesheet"/>
<script src="{% static 'js/select/select2.js' %}"></script>
<script src="{% static 'custom_js/make_select.js' %}"></script>
{% endblock %}
{% block body %}
{# Uses multilang.html template for translated fields #}
<form method="post" class="form-horizontal" enctype="multipart/form-data" name="form1" id="form1"> {% csrf_token %}
<fieldset>
<legend><i class="icon-edit"></i>Изменить отзыв</legend>
<div class="box span8">
<div class="box-header well">
<h2><i class="icon-pencil"></i> Информация</h2>
</div>
<div class="box-content">
{# service #}
<div class="control-group {% if form.service.errors %}error{% endif %}">
<label class="control-label">{{ form.service.label }}:</label>
<div class="controls">
{{ form.service }}
<span class="help-inline">{{ form.service.errors }}</span>
</div>
</div>
{# company #}
<div class="control-group {% if form.company.errors %}error{% endif %}">
<label class="control-label">{{ form.company.label }}:</label>
<div class="controls">
{{ form.company }}
<span class="help-inline">{{ form.company.errors }}</span>
</div>
</div>
{# rating #}
<div id="star">
<div class="control-group {% if form.rating.errors %}error{% endif %}">
<label class="control-label">{{ form.rating.label }}:</label>
<div class="controls">
{{ form.rating }}
<span class="help-inline">{{ form.rating.errors }}</span>
</div>
</div>
</div>
{# comment #}
<div class="control-group {% if form.comment.errors %}error{% endif %}">
<label class="control-label">{{ form.comment.label }}:</label>
<div class="controls">
{{ form.comment }}
<span class="help-inline">{{ form.comment.errors }}</span>
</div>
</div>
{# contact#}
<div class="control-group {% if form.contact.errors %}error{% endif %}">
<label class="control-label">{{ form.contact.label }}:</label>
<div class="controls">
{{ form.contact }}
<span class="help-inline">{{ form.contact.errors }}</span>
</div>
</div>
{# web_page#}
<div class="control-group {% if form.web_page.errors %}error{% endif %}">
<label class="control-label">{{ form.web_page.label }}:</label>
<div class="controls">
{{ form.web_page }}
<span class="help-inline">{{ form.web_page.errors }}</span>
</div>
</div>
</div>
</div>
<div class="controls">
<input class="btn btn-large btn-primary" type="submit" value="Добавить">
<input class="btn btn-large" type="reset" value="Отмена">
</div>
</fieldset>
</form>
{% endblock %}

@ -1,54 +0,0 @@
{% extends 'base.html' %}
{% block body %}
<div class="box span8">
<div class="box-header well">
<h2><i class="icon-arrow-down"></i>Список отзывов</h2>
</div>
<div class="box-content">
<table class="table table-hover">
<thead>
<tr>
<th>id</th>
<th>Сервис</th>
<th>Компания</th>
<th>Отзыв</th>
<th>Оценка</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
{% for item in objects %}
<tr>
<td>{{ item.id }}</td>
<td>{{ item.service }}</td>
<td>{{ item.company }}</td>
<td>{{ item.comment }}</td>
<td>{{ item.rating }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/service/review/change/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
{# pagination #}
<div class="pagination pagination-centered">
<ul>
{% if objects.has_previous %}
<li> <a href="?page={{ objects.previous_page_number }}"></a></li>
{% endif %}
{% if objects.has_next %}
<li><a href="?page={{ objects.next_page_number }}"></a></li>
{% endif %}
</ul>
</div>
</div>
{% endblock %}

@ -23,11 +23,11 @@
<td>{{ item.name }}</td>
<td>{{ item.price }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/service/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/service/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/service/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/service/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -35,7 +35,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/service/add"><i class="icon-plus-sign icon-white"></i> Добавить услугу</a>
<a class="btn btn-success" href="/admin/service/add"><i class="icon-plus-sign icon-white"></i> Добавить услугу</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -27,11 +27,11 @@
<td>{{ item.main_title }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/theme/tag/change/{{ item.id }}">
<a class="btn btn-info" href="/admin/theme/tag/change/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/theme/tag/delete/{{ item.id }}/">
<a class="btn btn-danger delete" href="/admin/theme/tag/delete/{{ item.id }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -41,7 +41,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/theme/tag/add"><i class="icon-plus-sign icon-white"></i> Добавить тег</a>
<a class="btn btn-success" href="/admin/theme/tag/add"><i class="icon-plus-sign icon-white"></i> Добавить тег</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -25,11 +25,11 @@
<td>{{ item.main_title }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/theme/theme/change/{{ item.id }}">
<a class="btn btn-info" href="/admin/theme/theme/change/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/theme/theme/delete/{{ item.id }}/">
<a class="btn btn-danger delete" href="/admin/theme/theme/delete/{{ item.id }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/theme/theme/add"><i class="icon-plus-sign icon-white"></i> Добавить тематику</a>
<a class="btn btn-success" href="/admin/theme/theme/add"><i class="icon-plus-sign icon-white"></i> Добавить тематику</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -27,11 +27,11 @@
{% endfor %}
<td class="center sorting_1">
<a class="btn btn-info" href="/translator/change/{{ item.id }}">
<a class="btn btn-info" href="/admin/translator/change/{{ item.id }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger delete" href="/translator/delete/{{ item.id }}/">
<a class="btn btn-danger delete" href="/admin/translator/delete/{{ item.id }}/">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -41,7 +41,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/translator/add"><i class="icon-plus-sign icon-white"></i> Добавить перводчика</a>
<a class="btn btn-success" href="/admin/translator/add"><i class="icon-plus-sign icon-white"></i> Добавить перводчика</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -25,11 +25,11 @@
<td>{{ item.data_begin }}</td>
<td class="center sorting_1">
<a class="btn btn-info" href="/webinar/change/{{ item.url|lower }}">
<a class="btn btn-info" href="/admin/webinar/change/{{ item.url|lower }}">
<i class="icon-edit icon-white"></i> Изменить
</a>
<a class="btn btn-danger" href="/webinar/delete/{{ item.url|lower }}">
<a class="btn btn-danger" href="/admin/webinar/delete/{{ item.url|lower }}">
<i class="icon-trash icon-white"></i> Удалить
</a>
</td>
@ -39,7 +39,7 @@
{% endfor %}
</tbody>
</table>
<a class="btn btn-success" href="/webinar/add"><i class="icon-plus-sign icon-white"></i> Добавить вебинар</a>
<a class="btn btn-success" href="/admin/webinar/add"><i class="icon-plus-sign icon-white"></i> Добавить вебинар</a>
</div>
{# pagination #}
<div class="pagination pagination-centered">

@ -2,12 +2,11 @@
<!DOCTYPE html>
<html>
<head>
<title> {% block title %}My base template {% endblock %}</title>
<title> {% block title %}Admin EXPOMAP {% endblock %}</title>
<script src="{% static 'jquery/jquery.min.js' %}"></script>
<script src="{% static 'bootstrap/js/bootstrap.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'bootstrap/css/bootstrap.min.css' %} ">
@ -99,29 +98,29 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> События<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/exposition/all">Выставка</a></li>
<li><a href="/conference/all">Конференция</a></li>
<li><a href="/seminar/all">Семинар</a></li>
<li><a href="/admin/exposition/all">Выставка</a></li>
<li><a href="/admin/conference/all">Конференция</a></li>
<li><a href="/admin/seminar/all">Семинар</a></li>
<li class="divider"></li>
<li><a href="/webinar/all">Вебинар</a></li>
<li><a href="/admin/webinar/all">Вебинар</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Места проведения<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/place_exposition/all">Место проведения выставки</a></li>
<li><a href="/place_conference/all">Место проведения конференции</a></li>
<li><a href="/admin/place_exposition/all">Место проведения выставки</a></li>
<li><a href="/admin/place_conference/all">Место проведения конференции</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open"></i> Пользователи<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/accounts/all">Пользователи</a></li>
<li><a href="/translator/all">Переводчики</a></li>
<li><a href="/organiser/all">Организаторы</a></li>
<li><a href="/company/all">Компании</a></li>
<li><a href="/admin/accounts/all">Пользователи</a></li>
<li><a href="/admin/translator/all">Переводчики</a></li>
<li><a href="/admin/organiser/all">Организаторы</a></li>
<li><a href="/admin/company/all">Компании</a></li>
</ul>
</li>
@ -129,26 +128,27 @@
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-wrench"></i> Настройки<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/country/all">Страна</a></li>
<li><a href="/city/all">Город</a></li>
<li><a href="/theme/theme/all">Тематики</a></li>
<li><a href="/theme/tag/all">Теги</a></li>
<li><a href="/service/all">Услуги</a></li>
<li><a href="/settings">Настройки</a></li>
<li><a href="/admin/country/all">Страна</a></li>
<li><a href="/admin/city/all">Город</a></li>
<li><a href="/admin/theme/theme/all">Тематики</a></li>
<li><a href="/admin/theme/tag/all">Теги</a></li>
<li><a href="/admin/service/all">Услуги</a></li>
<li><a href="/admin/settings">Настройки</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-list"></i> Справочники<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/article/all">Статьи</a></li>
<li><a href="/news/all">Новости</a></li>
<li><a href="/admin/article/all">Статьи</a></li>
<li><a href="/admin/news/all">Новости</a></li>
<li><a href="#">Отзывы</a></li>
<li><a href="/language/add">Языки</a></li>
<li><a href="/currency/add">Валюты</a></li>
<li><a href="/admin/language/add">Языки</a></li>
<li><a href="/admin/currency/add">Валюты</a></li>
</ul>
</li>
<li><a href="/accounts/register">Зарегестрировать<br> пользователя</a></li>
<li><a href="/admin/accounts/logout_admin"><i class="icon-share-alt"></i> Выйти</a></li>
</ul>

@ -3,18 +3,18 @@
{% block body %}
{% if form %}
<form>
<p>Вы действительно хотите удалить <b>{{ object }}</b>?</p><br>
{{ form }}
{{ form }}
<div class="alert alert-danger">
<p>Вы действительно хотите удалить <b>{{ object }}</b>?</p>
</div>
<input type="submit" class="btn-primary" value="Да">
<a class="btn" href="{{ prev_page }}">Нет</a>
</form>
{% else %}
<div class="alert alert-error">
{{ msg }}
<br>
<a href="{{ prev_page }}">Вернуться</a>
</div>
<a href="{{ prev_page }}" class="btn btn-mini btn-primary">Вернуться</a>
{% endif %}
{% endblock %}

@ -23,16 +23,16 @@ def tag_all(request):
def theme_add(request):
return add_object(request, ThemeForm, 'theme_add.html', '/theme/theme/all')
return add_object(request, ThemeForm, 'theme_add.html', '/admin/theme/theme/all')
def tag_add(request):
return add_object(request, TagForm, 'tag_add.html', '/theme/tag/all')
return add_object(request, TagForm, 'tag_add.html', '/admin/theme/tag/all')
def theme_delete(request, theme_id):
return delete_object(request, Theme, ThemeDeleteForm, theme_id, '/theme/theme/all')
return delete_object(request, Theme, ThemeDeleteForm, theme_id, '/admin/theme/theme/all')
def tag_delete(request, tag_id):
return delete_object(request, Tag, TagDeleteForm, tag_id, '/theme/tag/all')
return delete_object(request, Tag, TagDeleteForm, tag_id, '/admin/theme/tag/all')
@login_required
@ -40,12 +40,12 @@ def theme_change(request, theme_id=None):
try:
theme = Theme.objects.get(id=theme_id)
except:
return HttpResponseRedirect('/theme/theme/all')
return HttpResponseRedirect('/admin/theme/theme/all')
if request.POST:
form = ThemeForm(request.POST)
if form.is_valid():
form.save(theme_id)
return HttpResponseRedirect('/theme/theme/all')
return HttpResponseRedirect('/admin/theme/theme/all')
else:
data = {}
#bitfeild
@ -81,12 +81,12 @@ def tag_change(request, tag_id=None):
try:
tag = Tag.objects.get(id=tag_id)
except:
return HttpResponseRedirect('/theme/tag/all')
return HttpResponseRedirect('/admin/theme/tag/all')
if request.POST:
form = TagForm(request.POST)
if form.is_valid():
form.save(tag_id)
return HttpResponseRedirect('/theme/tag/all')
return HttpResponseRedirect('/admin/theme/tag/all')
else:
data = {}
if tag.theme:

@ -18,10 +18,10 @@ def translator_all(request):
return objects_list(request, Translator, 'translator_all.html')
def translator_add(request):
return add_object_with_file(request, TranslatorForm, 'translator_add.html', '/translator/all/')
return add_object_with_file(request, TranslatorForm, 'translator_add.html', '/admin/translator/all/')
def translator_delete(request, url):
return delete_object(request, Translator, TranslatorDeleteForm, url, '/translator/all/')
return delete_object(request, Translator, TranslatorDeleteForm, url, '/admin/translator/all/')
from django.contrib import messages
@ -31,7 +31,7 @@ def translator_change(request, url):
"""
translator = Translator.objects.safe_get(id=url)
if translator is None:
return HttpResponseRedirect('/translator/all/')
return HttpResponseRedirect('/admin/translator/all/')
translator_id = getattr(translator, 'id')
file_form = FileModelForm(initial={'model': 'translator.Translator'})
@ -40,7 +40,7 @@ def translator_change(request, url):
form = TranslatorForm(request.POST)
if form.is_valid():
form.save(translator_id)
return HttpResponseRedirect('/translator/all')
return HttpResponseRedirect('/admin/translator/all')
else:
#fill form with data from database
data = {'car':translator.car, 'gender':translator.gender, 'birth':translator.birth}

@ -44,7 +44,7 @@ def webinar_add(request):
form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.all()]
if form.is_valid():
form.save()
return HttpResponseRedirect('/webinar/all/')
return HttpResponseRedirect('/admin/webinar/all/')
else:
form = WebinarCreateForm(initial={'key': key})
@ -60,7 +60,7 @@ def webinar_add(request):
def webinar_delete(request, url):
return delete_object(request, Webinar, WebinarDeleteForm, url, '/webinar/delete')
return delete_object(request, Webinar, WebinarDeleteForm, url, '/admin/webinar/delete')
@login_required
@ -76,13 +76,13 @@ def webinar_change(request, url):
webinar = Webinar.objects.get(url=url)
file_form = FileModelForm(initial={'model': 'webinar.Webinar'})
except:
return HttpResponseRedirect('/webinar/all/')
return HttpResponseRedirect('/admin/webinar/all/')
if request.POST:
form = WebinarChangeForm(request.POST)
form.fields['tag'].choices = [(item.id, item.name) for item in Tag.objects.all()]
if form.is_valid():
form.save(getattr(webinar, 'id'))
return HttpResponseRedirect('/webinar/all/')
return HttpResponseRedirect('/admin/webinar/all/')
else:
#fill form with data from database
data = {'web_page':webinar.web_page, 'data_begin':webinar.data_begin, 'currency':webinar.currency,

Loading…
Cancel
Save