Add feedback app

This commit is contained in:
Roberto Rosario
2012-02-02 12:48:56 -04:00
parent 57846a758a
commit 67f3377916
15 changed files with 694 additions and 0 deletions

12
apps/feedback/__init__.py Normal file
View File

@@ -0,0 +1,12 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from navigation.api import (register_links, register_top_menu,
register_multi_item_links, register_sidebar_template)
from common import about_view, license_view
form_view = {'text': _('Feedback'), 'view': 'form_view', 'famfam': 'telephone'}
register_links(['form_view'], [about_view, license_view], menu_name='secondary_menu')
register_links(['form_view', 'about_view', 'license_view'], [form_view], menu_name='secondary_menu')

12
apps/feedback/api.py Normal file
View File

@@ -0,0 +1,12 @@
import requests
from django.utils.simplejson import dumps
FORM_SUBMIT_URL = 'https://docs.google.com/spreadsheet/formResponse'
FORM_KEY = 'dGZrYkw3SDl5OENMTG15emp1UFFEUWc6MQ'
FORM_RECEIVER_FIELD = 'entry.0.single'
TIMEOUT = 10
def submit_form(form):
r = requests.post(FORM_SUBMIT_URL, data={'formkey': FORM_KEY, FORM_RECEIVER_FIELD: dumps(form.cleaned_data)}, timeout=TIMEOUT)

92
apps/feedback/forms.py Normal file
View File

@@ -0,0 +1,92 @@
from __future__ import absolute_import
import logging
from django import forms
from django.utils.translation import ugettext_lazy as _
logger = logging.getLogger(__name__)
class FeedbackForm(forms.Form):
attract = forms.CharField(
widget=forms.widgets.Textarea(
attrs={'rows': 2},
),
label=_(u'What features of Mayan EDMS attracted you to start using it or consider using it?'),
required=False
)
future = forms.CharField(
widget=forms.widgets.Textarea(
attrs={'rows': 2},
),
label=_(u'What features would you like to see implemented in Mayan EDMS?'),
required=False
)
deploy = forms.CharField(
widget=forms.widgets.Textarea(
attrs={'rows': 2},
),
label=_(u'Could you tell us a bit about how you are deploying or plan to deploy Mayan EDMS (OS, webserver, cloud/local, hardware specs)?'),
required=False
)
hardest = forms.CharField(
widget=forms.widgets.Textarea(
attrs={'rows': 2},
),
label=_(u'What features of Mayan EDMS did you find hardest to understand or implement?'),
required=False
)
support = forms.BooleanField(
label=_(u'Would you be interested in purchasing paid support for Mayan EDMS?'),
required=False
)
sell_support = forms.BooleanField(
label=_(u'Are currently providing or planning to provide paid support for Mayan EDMS?'),
required=False
)
hosted = forms.BooleanField(
label=_(u'Would you be interested in a cloud hosted solution for Mayan EDMS?'),
required=False
)
turn_key = forms.BooleanField(
label=_(u'Would you be interested in a turn-key solution for Mayan EDMS that included a physical server appliance?'),
required=False
)
name = forms.CharField(
label=_(u'Your name:'),
required=False
)
email = forms.CharField(
label=_(u'Your email:'),
required=False
)
company = forms.CharField(
label=_(u'Company name:'),
required=False
)
website = forms.CharField(
label=_(u'Company website:'),
required=False
)
use_info = forms.BooleanField(
label=_(u'May we display your company name & logo in our website as a user of Mayan EDMS with a link back to your website?'),
required=False
)
mailing_list = forms.BooleanField(
label=_(u'May we keep your contact information to keep you up to date with developments or oferings related to Mayan EDMS?'),
required=False
)

View File

@@ -0,0 +1,103 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-02 12:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: __init__.py:9
msgid "Feedback"
msgstr ""
#: forms.py:16
msgid ""
"What features of Mayan EDMS attracted you to start using it or consider "
"using it?"
msgstr ""
#: forms.py:24
msgid "What features would you like to see implemented in Mayan EDMS?"
msgstr ""
#: forms.py:32
msgid ""
"Could you tell us a bit about how you are deploying or plan to deploy Mayan "
"EDMS (OS, webserver, cloud/local, hardware specs)?"
msgstr ""
#: forms.py:40
msgid ""
"What features of Mayan EDMS did you find hardest to understand or implement?"
msgstr ""
#: forms.py:45
msgid "Would you be interested in purchasing paid support for Mayan EDMS?"
msgstr ""
#: forms.py:50
msgid ""
"Are currently providing or planning to provide paid support for Mayan EDMS?"
msgstr ""
#: forms.py:55
msgid "Would you be interested in a cloud hosted solution for Mayan EDMS?"
msgstr ""
#: forms.py:60
msgid ""
"Would you be interested in a turn-key solution for Mayan EDMS that included "
"a physical server appliance?"
msgstr ""
#: forms.py:65
msgid "Your name:"
msgstr ""
#: forms.py:70
msgid "Your email:"
msgstr ""
#: forms.py:75
msgid "Company name:"
msgstr ""
#: forms.py:80
msgid "Company website:"
msgstr ""
#: forms.py:85
msgid ""
"May we display your company name & logo in our website as a user of Mayan "
"EDMS with a link back to your website?"
msgstr ""
#: forms.py:90
msgid ""
"May we keep your contact information to keep you up to date with "
"developments or oferings related to Mayan EDMS?"
msgstr ""
#: views.py:20
msgid "Thank you for submiting your feedback."
msgstr ""
#: views.py:23
#, python-format
msgid "Error submiting form; %s."
msgstr ""
#: views.py:28
msgid "feedback form"
msgstr ""

View File

@@ -0,0 +1,104 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-02 12:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: __init__.py:9
msgid "Feedback"
msgstr ""
#: forms.py:16
msgid ""
"What features of Mayan EDMS attracted you to start using it or consider "
"using it?"
msgstr ""
#: forms.py:24
msgid "What features would you like to see implemented in Mayan EDMS?"
msgstr ""
#: forms.py:32
msgid ""
"Could you tell us a bit about how you are deploying or plan to deploy Mayan "
"EDMS (OS, webserver, cloud/local, hardware specs)?"
msgstr ""
#: forms.py:40
msgid ""
"What features of Mayan EDMS did you find hardest to understand or implement?"
msgstr ""
#: forms.py:45
msgid "Would you be interested in purchasing paid support for Mayan EDMS?"
msgstr ""
#: forms.py:50
msgid ""
"Are currently providing or planning to provide paid support for Mayan EDMS?"
msgstr ""
#: forms.py:55
msgid "Would you be interested in a cloud hosted solution for Mayan EDMS?"
msgstr ""
#: forms.py:60
msgid ""
"Would you be interested in a turn-key solution for Mayan EDMS that included "
"a physical server appliance?"
msgstr ""
#: forms.py:65
msgid "Your name:"
msgstr ""
#: forms.py:70
msgid "Your email:"
msgstr ""
#: forms.py:75
msgid "Company name:"
msgstr ""
#: forms.py:80
msgid "Company website:"
msgstr ""
#: forms.py:85
msgid ""
"May we display your company name & logo in our website as a user of Mayan "
"EDMS with a link back to your website?"
msgstr ""
#: forms.py:90
msgid ""
"May we keep your contact information to keep you up to date with "
"developments or oferings related to Mayan EDMS?"
msgstr ""
#: views.py:20
msgid "Thank you for submiting your feedback."
msgstr ""
#: views.py:23
#, python-format
msgid "Error submiting form; %s."
msgstr ""
#: views.py:28
msgid "feedback form"
msgstr ""

View File

@@ -0,0 +1,104 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-02 12:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: __init__.py:9
msgid "Feedback"
msgstr ""
#: forms.py:16
msgid ""
"What features of Mayan EDMS attracted you to start using it or consider "
"using it?"
msgstr ""
#: forms.py:24
msgid "What features would you like to see implemented in Mayan EDMS?"
msgstr ""
#: forms.py:32
msgid ""
"Could you tell us a bit about how you are deploying or plan to deploy Mayan "
"EDMS (OS, webserver, cloud/local, hardware specs)?"
msgstr ""
#: forms.py:40
msgid ""
"What features of Mayan EDMS did you find hardest to understand or implement?"
msgstr ""
#: forms.py:45
msgid "Would you be interested in purchasing paid support for Mayan EDMS?"
msgstr ""
#: forms.py:50
msgid ""
"Are currently providing or planning to provide paid support for Mayan EDMS?"
msgstr ""
#: forms.py:55
msgid "Would you be interested in a cloud hosted solution for Mayan EDMS?"
msgstr ""
#: forms.py:60
msgid ""
"Would you be interested in a turn-key solution for Mayan EDMS that included "
"a physical server appliance?"
msgstr ""
#: forms.py:65
msgid "Your name:"
msgstr ""
#: forms.py:70
msgid "Your email:"
msgstr ""
#: forms.py:75
msgid "Company name:"
msgstr ""
#: forms.py:80
msgid "Company website:"
msgstr ""
#: forms.py:85
msgid ""
"May we display your company name & logo in our website as a user of Mayan "
"EDMS with a link back to your website?"
msgstr ""
#: forms.py:90
msgid ""
"May we keep your contact information to keep you up to date with "
"developments or oferings related to Mayan EDMS?"
msgstr ""
#: views.py:20
msgid "Thank you for submiting your feedback."
msgstr ""
#: views.py:23
#, python-format
msgid "Error submiting form; %s."
msgstr ""
#: views.py:28
msgid "feedback form"
msgstr ""

View File

@@ -0,0 +1,104 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-02 12:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: __init__.py:9
msgid "Feedback"
msgstr ""
#: forms.py:16
msgid ""
"What features of Mayan EDMS attracted you to start using it or consider "
"using it?"
msgstr ""
#: forms.py:24
msgid "What features would you like to see implemented in Mayan EDMS?"
msgstr ""
#: forms.py:32
msgid ""
"Could you tell us a bit about how you are deploying or plan to deploy Mayan "
"EDMS (OS, webserver, cloud/local, hardware specs)?"
msgstr ""
#: forms.py:40
msgid ""
"What features of Mayan EDMS did you find hardest to understand or implement?"
msgstr ""
#: forms.py:45
msgid "Would you be interested in purchasing paid support for Mayan EDMS?"
msgstr ""
#: forms.py:50
msgid ""
"Are currently providing or planning to provide paid support for Mayan EDMS?"
msgstr ""
#: forms.py:55
msgid "Would you be interested in a cloud hosted solution for Mayan EDMS?"
msgstr ""
#: forms.py:60
msgid ""
"Would you be interested in a turn-key solution for Mayan EDMS that included "
"a physical server appliance?"
msgstr ""
#: forms.py:65
msgid "Your name:"
msgstr ""
#: forms.py:70
msgid "Your email:"
msgstr ""
#: forms.py:75
msgid "Company name:"
msgstr ""
#: forms.py:80
msgid "Company website:"
msgstr ""
#: forms.py:85
msgid ""
"May we display your company name & logo in our website as a user of Mayan "
"EDMS with a link back to your website?"
msgstr ""
#: forms.py:90
msgid ""
"May we keep your contact information to keep you up to date with "
"developments or oferings related to Mayan EDMS?"
msgstr ""
#: views.py:20
msgid "Thank you for submiting your feedback."
msgstr ""
#: views.py:23
#, python-format
msgid "Error submiting form; %s."
msgstr ""
#: views.py:28
msgid "feedback form"
msgstr ""

View File

@@ -0,0 +1,105 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-02-02 12:46-0400\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: __init__.py:9
msgid "Feedback"
msgstr ""
#: forms.py:16
msgid ""
"What features of Mayan EDMS attracted you to start using it or consider "
"using it?"
msgstr ""
#: forms.py:24
msgid "What features would you like to see implemented in Mayan EDMS?"
msgstr ""
#: forms.py:32
msgid ""
"Could you tell us a bit about how you are deploying or plan to deploy Mayan "
"EDMS (OS, webserver, cloud/local, hardware specs)?"
msgstr ""
#: forms.py:40
msgid ""
"What features of Mayan EDMS did you find hardest to understand or implement?"
msgstr ""
#: forms.py:45
msgid "Would you be interested in purchasing paid support for Mayan EDMS?"
msgstr ""
#: forms.py:50
msgid ""
"Are currently providing or planning to provide paid support for Mayan EDMS?"
msgstr ""
#: forms.py:55
msgid "Would you be interested in a cloud hosted solution for Mayan EDMS?"
msgstr ""
#: forms.py:60
msgid ""
"Would you be interested in a turn-key solution for Mayan EDMS that included "
"a physical server appliance?"
msgstr ""
#: forms.py:65
msgid "Your name:"
msgstr ""
#: forms.py:70
msgid "Your email:"
msgstr ""
#: forms.py:75
msgid "Company name:"
msgstr ""
#: forms.py:80
msgid "Company website:"
msgstr ""
#: forms.py:85
msgid ""
"May we display your company name & logo in our website as a user of Mayan "
"EDMS with a link back to your website?"
msgstr ""
#: forms.py:90
msgid ""
"May we keep your contact information to keep you up to date with "
"developments or oferings related to Mayan EDMS?"
msgstr ""
#: views.py:20
msgid "Thank you for submiting your feedback."
msgstr ""
#: views.py:23
#, python-format
msgid "Error submiting form; %s."
msgstr ""
#: views.py:28
msgid "feedback form"
msgstr ""

3
apps/feedback/models.py Normal file
View File

@@ -0,0 +1,3 @@
from django.db import models
# Create your models here.

16
apps/feedback/tests.py Normal file
View File

@@ -0,0 +1,16 @@
"""
This file demonstrates writing tests using the unittest module. These will pass
when you run "manage.py test".
Replace this with more appropriate tests for your application.
"""
from django.test import TestCase
class SimpleTest(TestCase):
def test_basic_addition(self):
"""
Tests that 1 + 1 always equals 2.
"""
self.assertEqual(1 + 1, 2)

5
apps/feedback/urls.py Normal file
View File

@@ -0,0 +1,5 @@
from django.conf.urls.defaults import patterns, url
urlpatterns = patterns('feedback.views',
url(r'^form/$', 'form_view', (), 'form_view'),
)

31
apps/feedback/views.py Normal file
View File

@@ -0,0 +1,31 @@
from __future__ import absolute_import
from django.utils.translation import ugettext_lazy as _
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.contrib import messages
from django.core.urlresolvers import reverse
from .forms import FeedbackForm
from .api import submit_form
def form_view(request):
if request.method == 'POST':
form = FeedbackForm(request.POST)
if form.is_valid():
try:
submit_form(form)
messages.success(request, _(u'Thank you for submiting your feedback.'))
return HttpResponseRedirect('/')
except Exception, e:
messages.error(request, _(u'Error submiting form; %s.') % e)
else:
form = FeedbackForm()
return render_to_response('generic_form.html', {
'title': _(u'feedback form'),
'form': form,
},
context_instance=RequestContext(request))

View File

@@ -16,3 +16,4 @@ djangorestframework==0.2.3
South==0.7.3
python-gnupg==0.2.8
python-hkp==0.1.3
requests==0.10.1

View File

@@ -156,6 +156,7 @@ INSTALLED_APPS = (
'mimetype',
'scheduler',
'job_processor',
'feedback',
# Mayan EDMS
'storage',
'folders',

View File

@@ -31,6 +31,7 @@ urlpatterns = patterns('',
(r'^api/', include('rest_api.urls')),
(r'^gpg/', include('django_gpg.urls')),
(r'^documents/signatures/', include('document_signatures.urls')),
(r'^feedback/', include('feedback.urls')),
)