diff --git a/PyRIGS/settings.py b/PyRIGS/settings.py index 9b8c0546..7997961e 100644 --- a/PyRIGS/settings.py +++ b/PyRIGS/settings.py @@ -70,22 +70,10 @@ WSGI_APPLICATION = 'PyRIGS.wsgi.application' # Database # https://docs.djangoproject.com/en/1.7/ref/settings/#databases -try: - import pymysql - pymysql.install_as_MySQLdb() -except ImportError: - pass DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - }, - 'legacy': { - 'ENGINE': 'django.db.backends.mysql', - 'HOST': 'alfie.codedinternet.com', - 'NAME': 'tec_rigs', - 'USER': 'tec_rigs', - 'PASSWORD': 'xMNb(b+Giu]&', } } diff --git a/RIGS/rigboard.py b/RIGS/rigboard.py index 3fe891fe..050e0eda 100644 --- a/RIGS/rigboard.py +++ b/RIGS/rigboard.py @@ -90,20 +90,24 @@ class EventPrint(generic.View): object = get_object_or_404(models.Event, pk=pk) template = get_template('RIGS/event_print.xml') copies = ('TEC', 'Client') - context = RequestContext(request, { - 'object': object, - 'fonts': { - 'opensans': { - 'regular': 'RIGS/static/fonts/OPENSANS-REGULAR.TTF', - 'bold': 'RIGS/static/fonts/OPENSANS-BOLD.TTF', - } - }, - }) merger = PdfFileMerger() for copy in copies: - context['copy'] = copy + + context = RequestContext(request, { # this should be outside the loop, but bug in 1.8.2 prevents this + 'object': object, + 'fonts': { + 'opensans': { + 'regular': 'RIGS/static/fonts/OPENSANS-REGULAR.TTF', + 'bold': 'RIGS/static/fonts/OPENSANS-BOLD.TTF', + } + }, + 'copy':copy + }) + + # context['copy'] = copy # this is the way to do it once we upgrade to Django 1.8.3 + rml = template.render(context) buffer = StringIO.StringIO() @@ -126,6 +130,7 @@ class EventPrint(generic.View): class EventDuplicate(generic.RedirectView): + permanent = False; def get_redirect_url(self, *args, **kwargs): new = get_object_or_404(models.Event, pk=kwargs['pk']) new.pk = None diff --git a/RIGS/templatetags/filters.py b/RIGS/templatetags/filters.py index 5b81ce2f..b14f5798 100644 --- a/RIGS/templatetags/filters.py +++ b/RIGS/templatetags/filters.py @@ -1,7 +1,7 @@ from django import template from django import forms from django.forms.forms import NON_FIELD_ERRORS -from django.forms.util import ErrorDict +from django.forms.utils import ErrorDict register = template.Library() diff --git a/RIGS/urls.py b/RIGS/urls.py index 63d9fb95..c39a571c 100644 --- a/RIGS/urls.py +++ b/RIGS/urls.py @@ -69,7 +69,7 @@ urlpatterns = patterns('', # Rigboard url(r'^rigboard/$', login_required(rigboard.RigboardIndex.as_view()), name='rigboard'), url(r'^rigboard/calendar/$', login_required()(rigboard.WebCalendar.as_view()), name='web_calendar'), - url(r'^rigboard/archive/$', RedirectView.as_view(pattern_name='event_archive')), + url(r'^rigboard/archive/$', RedirectView.as_view(permanent=True,pattern_name='event_archive')), url(r'^rigboard/activity/$', permission_required_with_403('RIGS.view_event')(versioning.ActivityTable.as_view()), name='activity_table'), @@ -149,8 +149,8 @@ urlpatterns = patterns('', url(r'^api/(?P\w+)/(?P\d+)/$', (views.SecureAPIRequest.as_view()), name="api_secure"), # Legacy URL's - url(r'^rig/show/(?P\d+)/$', RedirectView.as_view(pattern_name='event_detail')), - url(r'^bookings/$', RedirectView.as_view(pattern_name='rigboard')), - url(r'^bookings/past/$', RedirectView.as_view(pattern_name='event_archive')), + url(r'^rig/show/(?P\d+)/$', RedirectView.as_view(permanent=True,pattern_name='event_detail')), + url(r'^bookings/$', RedirectView.as_view(permanent=True,pattern_name='rigboard')), + url(r'^bookings/past/$', RedirectView.as_view(permanent=True,pattern_name='event_archive')), ) diff --git a/RIGS/versioning.py b/RIGS/versioning.py index f94fc9db..1065aa3c 100644 --- a/RIGS/versioning.py +++ b/RIGS/versioning.py @@ -102,7 +102,7 @@ def get_versions_for_model(models): versions = reversion.models.Version.objects.filter( content_type__in = content_types, - ).select_related("revision","revision.version_set").order_by("-pk") + ).select_related("revision").order_by("-pk") return versions diff --git a/RIGS/views.py b/RIGS/views.py index 41b45987..0894d800 100644 --- a/RIGS/views.py +++ b/RIGS/views.py @@ -68,6 +68,7 @@ class PersonDetail(generic.DetailView): class PersonCreate(generic.CreateView): model = models.Person + fields = ['name','phone','email','address','notes'] def get_success_url(self): if self.request.is_ajax(): @@ -84,6 +85,7 @@ class PersonCreate(generic.CreateView): class PersonUpdate(generic.UpdateView): model = models.Person + fields = ['name','phone','email','address','notes'] def get_success_url(self): if self.request.is_ajax(): @@ -120,6 +122,7 @@ class OrganisationDetail(generic.DetailView): class OrganisationCreate(generic.CreateView): model = models.Organisation + fields = ['name','phone','email','address','notes','union_account'] def get_success_url(self): if self.request.is_ajax(): @@ -136,6 +139,7 @@ class OrganisationCreate(generic.CreateView): class OrganisationUpdate(generic.UpdateView): model = models.Organisation + fields = ['name','phone','email','address','notes','union_account'] def get_success_url(self): if self.request.is_ajax(): @@ -172,6 +176,7 @@ class VenueDetail(generic.DetailView): class VenueCreate(generic.CreateView): model = models.Venue + fields = ['name','phone','email','address','notes'] def get_success_url(self): if self.request.is_ajax(): @@ -188,6 +193,7 @@ class VenueCreate(generic.CreateView): class VenueUpdate(generic.UpdateView): model = models.Venue + fields = ['name','phone','email','address','notes'] def get_success_url(self): if self.request.is_ajax(): diff --git a/requirements.txt b/requirements.txt index 3a90e9d6..5cd47409 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,32 +1,31 @@ -Django==1.7.1 -Pillow==2.7.0 -PyMySQL==0.6.2 -PyPDF2==1.23 -Pygments==2.0.2 dj-database-url==0.3.0 dj-static==0.0.6 -django-debug-toolbar==1.2.2 +Django==1.8.2 +django-debug-toolbar==1.3.0 django-ical==1.3 django-recaptcha==1.0.4 -django-registration-redux==1.1 -django-reversion==1.8.5 +django-registration-redux==1.2 +django-reversion==1.8.7 django-toolbelt==0.0.1 +django-widget-tweaks==1.3 gunicorn==19.3.0 icalendar==3.9.0 -lxml==3.4.1 +lxml==3.4.4 +Pillow==2.8.1 psycopg2==2.6 +Pygments==2.0.2 +PyPDF2==1.24 python-dateutil==2.4.2 -pytz==2015.2 -reportlab==2.7 +pytz==2015.4 +reportlab==3.1.44 selenium==2.45.0 -simplejson==3.6.5 +simplejson==3.7.2 six==1.9.0 -sqlparse==0.1.13 -static3==0.5.1 +sqlparse==0.1.15 +static3==0.6.1 svg2rlg==0.3 -wsgiref==0.1.2 yolk==0.4.3 -z3c.rml==2.7.2 +z3c.rml==2.8.1 zope.event==4.0.3 zope.interface==4.1.2 zope.schema==4.4.2 diff --git a/templates/base.html b/templates/base.html index 844d6fe6..a0252064 100644 --- a/templates/base.html +++ b/templates/base.html @@ -1,5 +1,5 @@ {% load static from staticfiles %} -{% load url from future %} + diff --git a/templates/registration/password_change_done.html b/templates/registration/password_change_done.html index de778b2e..8db9ea9a 100644 --- a/templates/registration/password_change_done.html +++ b/templates/registration/password_change_done.html @@ -1,6 +1,6 @@ {% extends "base.html" %} {% load i18n %} -{% load url from future %} + {% block breadcrumbs %}