Beispiel #1
0
    def rss_settings(self):
        schema = createSchema("RssSettingsMeetingSchema")
        add_csrf_token(self.context, self.request, schema)
        schema = schema.bind(context=self.context, request=self.request, api = self.api)
        form = Form(schema, buttons=(button_save, button_cancel))
        self.api.register_form_resources(form)
        fanstaticlib.jquery_form.need()

        post = self.request.POST
        if 'save' in post:
            controls = post.items()
            try:
                appstruct = form.validate(controls)
            except ValidationFailure, e:
                self.response['form'] = e.render()
                return self.response
            self.context.set_field_appstruct(appstruct)
            url = self.request.resource_url(self.context)
            return HTTPFound(location=url)
Beispiel #2
0
 def edit_speaker_log(self):
     """ Edit log entries for a specific speaker. """
     speaker_list_name = self.request.GET['speaker_list']
     speaker_list = self.slists.speaker_lists[speaker_list_name]
     speaker = int(self.request.GET['speaker'])
     schema = createSchema("EditSpeakerLogSchema")
     add_csrf_token(self.context, self.request, schema)
     schema = schema.bind(context = self.context, request = self.request, api = self.api)
     form = deform.Form(schema, buttons = (deform.Button("save", _(u"Save")), deform.Button("cancel", _(u"Cancel"))))
     post = self.request.POST
     if self.request.method == 'POST':
         if 'save' in post:
             controls = post.items()
             try:
                 appstruct = form.validate(controls)
             except deform.ValidationFailure, e:
                 self.response['form'] = e.render()
                 return self.response
             del speaker_list.speaker_log[speaker][:]
             speaker_list.speaker_log[speaker].extend(appstruct['logs'])
         ai = find_interface(speaker_list, IAgendaItem)
         url = self.request.resource_url(ai, 'manage_speaker_list')
         return HTTPFound(location = url)
Beispiel #3
0
 def speaker_list_plugin(self):
     schema = createSchema("SpeakerListPluginSchema")
     add_csrf_token(self.context, self.request, schema)
     schema = schema.bind(context=self.context, request=self.request, api = self.api)
     self.response['tabs'] = self.api.render_single_view_component(self.context, self.request, 'tabs', 'manage_speaker_lists')
     return self.form(schema)