Example #1
0
File: web.py Project: 3kwa/tnc
    def index(self, **form):

        if cherrypy.request.method == "GET":
            return serve_template('index.html', form=forms.render_submission())

        if cherrypy.request.method == "POST":
            try:
                values = forms.validate_submission(form)
            except forms.Invalid, e:
                return serve_template('index.html',
                                      form=forms.render_submission(
                                          defaults=e.value,
                                          errors=e.unpack_errors()))
            else:
                save_submission(values)
                raise cherrypy.HTTPRedirect("thankyou")
Example #2
0
File: forms.py Project: 3kwa/tnc
def render_submission(defaults=dict(), errors=dict()):
    """
    >>> 'value="eugene"' in render_submission()
    False
    >>> 'value="eugene"' in render_submission(defaults={'firstname' : 'eugene'})
    True
    >>> '<span class="error-message">missing</span>' in render_submission(errors={'firstname' : 'missing'})
    True
    """
    form = serve_template('forms/submission.html')
    return htmlfill.render(form, defaults, errors, error_class="error-input")
Example #3
0
File: web.py Project: 3kwa/tnc
    def project(self, id_, action, **form):

        p = models.get_project(id_)
        errors = {}

        if cherrypy.request.method == "GET":
            if action == 'edit':
                defaults = {'title' : p.title,
                            'description' : p.description,
                            'photos' : p.photos,
                            'videos' : p.videos}
            elif action == 'cancel':
                return serve_template('project.html', project=p)

        if cherrypy.request.method == "POST":
            try:
                defaults = forms.validate_project(form)
            except forms.Invalid, e:
                defaults = e.value
                errors = e.unpack_errors()
            else:
                models.update_project(id_, defaults)
                return serve_template('project.html', project=p)
Example #4
0
File: web.py Project: 3kwa/tnc
 def thankyou(self):
     return serve_template('thankyou.html')
Example #5
0
File: web.py Project: 3kwa/tnc
                                                 defaults=e.value,
                                                 errors=e.unpack_errors())
                else:
                    models.save_status(values)
                    status = forms.render_status(current=current_status())

        if cherrypy.request.method == "GET":
            status = forms.render_status(current=current_status())

        trash = models.trashed_submissions()
        projects = unpublished_projects()
        submissions = unchecked_submissions()
        public = published_projects()
        return serve_template('admin.html',
                              trash=trash,
                              submissions=submissions,
                              projects=projects,
                              public=public,
                              status=status)

    @cherrypy.expose
    def project(self, id_, action, **form):

        p = models.get_project(id_)
        errors = {}

        if cherrypy.request.method == "GET":
            if action == 'edit':
                defaults = {'title' : p.title,
                            'description' : p.description,
                            'photos' : p.photos,
                            'videos' : p.videos}
Example #6
0
File: forms.py Project: 3kwa/tnc
def render_project(project, defaults=dict(), errors=dict()):
    form = serve_template('forms/project.html', project=project)
    return htmlfill.render(form, defaults, errors, error_class="error-input")
Example #7
0
File: forms.py Project: 3kwa/tnc
def render_status(current, defaults=dict(), errors=dict()):
    form = serve_template('forms/status.html', current=current)
    return htmlfill.render(form.decode('utf-8'), defaults, errors, error_class="error-input")