summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-14 06:19:46 +0100
committersubstantialnoninfringinguser <substantialnoninfringinguser@gmail.com>2009-05-14 06:19:46 +0100
commit57a972fae79e77752c9b2bd18889eb0a61c13d41 (patch)
tree117ccd760c60b6d159a9d16b99a5daa3083a733a
parentc454fecfc1dc1e63812cb230fd5e7d9d90b20c33 (diff)
downloadtroggle-57a972fae79e77752c9b2bd18889eb0a61c13d41.tar.gz
troggle-57a972fae79e77752c9b2bd18889eb0a61c13d41.tar.bz2
troggle-57a972fae79e77752c9b2bd18889eb0a61c13d41.zip
[svn] Fixed broken buttons on controlpanel, added CAVETAB2.CSV export and download buttons and made them work too.
Changed ordering on PersonExpeditions so that it is based on their expedition. That way, even if we don't have date info on when a user was on expo exactly, pages like personindex work correctly.
-rw-r--r--databaseReset.py18
-rw-r--r--expo/models.py3
-rw-r--r--expo/views_other.py24
-rw-r--r--export/tocavetab.py3
-rw-r--r--export/toqms.py3
-rw-r--r--parsers/cavetab.py2
-rw-r--r--urls.py2
7 files changed, 39 insertions, 16 deletions
diff --git a/databaseReset.py b/databaseReset.py
index f2c3b51..5503104 100644
--- a/databaseReset.py
+++ b/databaseReset.py
@@ -6,6 +6,7 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from django.core import management
from django.db import connection
from django.contrib.auth.models import User
+from django.http import HttpResponse
def reload_db():
cursor = connection.cursor()
@@ -55,4 +56,19 @@ def reset():
import_logbooks()
import_survex()
import_QMs()
- import_surveys() \ No newline at end of file
+ import_surveys()
+
+def export_cavetab():
+ from export import tocavetab
+ outfile=file(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'w')
+ tocavetab.writeCaveTab(outfile)
+ outfile.close()
+
+def export_qms(): #finish this. need cave chooser
+ from export import toqms
+ outfile=file(os.path.join(settings.EXPOWEB, "noinfo", "CAVETAB2.CSV"),'w')
+ outfile.close()
+
+
+
+ \ No newline at end of file
diff --git a/expo/models.py b/expo/models.py
index 3472a01..4c8332b 100644
--- a/expo/models.py
+++ b/expo/models.py
@@ -162,7 +162,8 @@ class PersonExpedition(TroggleModel):
class Meta:
ordering = ('expedition',)
- get_latest_by = 'date_from'
+ #order_with_respect_to = 'expedition'
+ get_latest_by = 'expedition'
def GetPersonChronology(self):
res = { }
diff --git a/expo/views_other.py b/expo/views_other.py
index 0f8cb79..1b3b64f 100644
--- a/expo/views_other.py
+++ b/expo/views_other.py
@@ -5,8 +5,7 @@ from django.db.models import Q
import databaseReset
import re
import randSent
-from django.http import HttpResponse
-
+from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import reverse
from troggle.alwaysUseRequestContext import render_response # see views_logbooks for explanation on this.
@@ -62,9 +61,20 @@ def calendar(request,year):
def controlPanel(request):
message = "no test message" #reverse('personn', kwargs={"name":"hkjhjh"})
if request.method=='POST':
- for item in request.POST:
- if request.user.is_superuser and item!='item':
- print "running"+ " databaseReset."+item+"()"
- exec "databaseReset."+item+"()"
+ if request.user.is_superuser:
+ for item in request.POST:
+ if item!='item':
+ print "running"+ " databaseReset."+item+"()"
+ exec "databaseReset."+item+"()"
+ else:
+ return HttpResponseRedirect(reverse('auth_login'))
+
+ return render_response(request,'controlPanel.html', )
- return render_response(request,'controlPanel.html', ) \ No newline at end of file
+def downloadCavetab(request):
+ from export import tocavetab
+ response = HttpResponse(mimetype='text/csv')
+ response['Content-Disposition'] = 'attachment; filename=CAVEETAB2.CSV'
+ tocavetab.writeCaveTab(response)
+ return response
+ \ No newline at end of file
diff --git a/export/tocavetab.py b/export/tocavetab.py
index 121c36e..ab7a2ee 100644
--- a/export/tocavetab.py
+++ b/export/tocavetab.py
@@ -42,8 +42,7 @@ def cavetabRow(cave):
caveRow[headers.index(column)]=modelField.replace(u'\xd7','x').replace(u'\u201c','').replace(u'\u2013','').replace(u'\xbd','')
return caveRow
-def writeCaveTab(path):
- outfile=file(path,'w')
+def writeCaveTab(outfile):
cavewriter=csv.writer(outfile,lineterminator='\r')
cavewriter.writerow(headers)
for cave in models.Cave.objects.all():
diff --git a/export/toqms.py b/export/toqms.py
index 0597da6..dd58fca 100644
--- a/export/toqms.py
+++ b/export/toqms.py
@@ -28,8 +28,7 @@ def qmRow(qm):
qmRow[headers.index(column)]=modelField.replace(u'\xd7','x').replace(u'\u201c','').replace(u'\u2013','').replace(u'\xbd','')
return qmRow
-def writeQmTable(path,cave):
- outfile=file(path,'w')
+def writeQmTable(outfile,cave):
cavewriter=csv.writer(outfile,lineterminator='\r')
cavewriter.writerow(headers)
for qm in cave.get_QMs():
diff --git a/parsers/cavetab.py b/parsers/cavetab.py
index fde5333..2dc071c 100644
--- a/parsers/cavetab.py
+++ b/parsers/cavetab.py
@@ -1,6 +1,4 @@
# -*- coding: utf-8 -*-
-import sys
-sys.path.append("/home/mjg/expoweb/troggle")
import troggle.expo.models as models
from django.conf import settings
import csv
diff --git a/urls.py b/urls.py
index ee4dc62..f5decdb 100644
--- a/urls.py
+++ b/urls.py
@@ -58,6 +58,7 @@ urlpatterns = patterns('',
url(r'^survey/(?P<year>\d\d\d\d)\#(?P<wallet_number>\d*)$', survey, name="survey"),
url(r'^controlpanel/?$', views_other.controlPanel, name="controlpanel"),
+ url(r'^cavetab/?$', views_other.downloadCavetab, name="downloadcavetab"),
(r'^admin/doc/?', include('django.contrib.admindocs.urls')),
(r'^admin/(.*)', admin.site.root),
@@ -68,7 +69,6 @@ urlpatterns = patterns('',
# (r'^personform/(.*)$', personForm),
- (r'^photologue/', include('photologue.urls')),
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),