def render(self, template=None): if template is None: template = self.template if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \ (IBusinessSectionLayer.providedBy(self.request)): self.edit = False else: self.edit = True session = Session() venues = session.query(domain.Venue).all() languages = get_all_languages() session.close() self.display_language = get_default_language() if self.request.get("I18N_LANGUAGE"): self.display_language = self.request.get("I18N_LANGUAGE") #html is hardcoded in here because doing it in the template #would have been a colossal pain #TODO: FIX THIS s = '<div class="dhx_cal_ltext" style="height:90px;">' s += '<table>' s += '<tr><td>Venue</td><td><select id="select_sitting_venue">' for venue in venues: s += '<option value="'+str(venue.venue_id)+'">'+venue.short_name+'</option>' s += '</select></td></tr>' s += '<tr><td>Language</td><td><select id="select_sitting_lang">' for lang in languages: if lang == 'en': s += '<option value="'+lang+'" selected>'+lang+'</option>' else: s += '<option value="'+lang+'">'+lang+'</option>' s += '</select></td></tr></table></div>' self.sitting_details_form = s return template()
class DhtmlxCalendarSittingsEditForm(interface.Interface): ids = schema.TextLine(title=u'ID', description=u'Sitting ID', required=False) start_date = schema.Datetime( title=_(u"Start Date and Time"), description=_(u"Choose a start date and time"), required=True) end_date = schema.Datetime( title=_(u"End Date and Time"), description=_(u"Choose an end date and time"), required=True) venue = schema.Choice(title=_(u"Venue"), source="bungeni.vocabulary.Venues", description=_(u"Venues"), required=True) language = schema.Choice(title=_(u"Language"), default=get_default_language(), vocabulary="language_vocabulary", description=_(u'Language'), required=True) rec_type = schema.TextLine(title=u'Recurrence Type', required=False, description=u"A string that contains the \ rules for reccurent sittings if any" ) event_length = schema.TextLine(title=u'Event Length', required=False, description=u'Length of event') nativeeditor_status = schema.TextLine(title=u'editor status', required=False, description=u'Editor Status')
def render(self, template=None): if template is None: template = self.template if (not checkPermission(u"bungeni.sitting.Add", self.context)) or \ (IBusinessSectionLayer.providedBy(self.request)): self.edit = False else: self.edit = True session = Session() venues = session.query(domain.Venue).all() languages = get_all_languages() session.close() self.display_language = get_default_language() if self.request.get("I18N_LANGUAGE"): self.display_language = self.request.get("I18N_LANGUAGE") #html is hardcoded in here because doing it in the template #would have been a colossal pain #TODO: FIX THIS s = '<div class="dhx_cal_ltext" style="height:90px;">' s += '<table>' s += '<tr><td>Venue</td><td><select id="select_sitting_venue">' for venue in venues: s += '<option value="' + str( venue.venue_id) + '">' + venue.short_name + '</option>' s += '</select></td></tr>' s += '<tr><td>Language</td><td><select id="select_sitting_lang">' for lang in languages: if lang == 'en': s += '<option value="' + lang + '" selected>' + lang + '</option>' else: s += '<option value="' + lang + '">' + lang + '</option>' s += '</select></td></tr></table></div>' self.sitting_details_form = s return template()
def default_reports(sitting, event): if sitting.status in ("published_agenda", "published_minutes"): sitting = removeSecurityProxy(sitting) sittings = [] sittings.append(sitting) report = domain.Report() session = Session() #!+REPORTS(miano, dec-2010) using test request here is not quite right # TODO : fix this. from zope.publisher.browser import TestRequest report.start_date = sitting.start_date report.end_date = sitting.end_date # The owner ID is the ID of the user that performed the last workflow # change for change in reversed(sitting.changes): if change.action == "workflow": owner_id = change.user_id break assert owner_id is not None, _( "No user is defined. Are you logged in as Admin?") report.owner_id = owner_id report.language = get_default_language() report.created_date = datetime.datetime.now() report.group_id = sitting.group_id if sitting.status == 'published_agenda': report.short_name = "Sitting Agenda" drc = DefaultReportContent(sittings, report.short_name, False) report.body_text = DefaultReportView(drc, TestRequest())() elif sitting.status == 'published_minutes': report.short_name = "Sitting Votes and Proceedings" drc = DefaultReportContent(sittings, report.short_name, True) report.body_text = DefaultReportView(drc, TestRequest())() session.add(report) session.flush() notify(ObjectCreatedEvent(report)) sr = domain.SittingReport() sr.report = report sr.sitting = sitting session.add(sr) session.commit() notify(ObjectCreatedEvent(sr))
def default_reports(sitting, event): if sitting.status in ("published_agenda", "published_minutes"): sitting = removeSecurityProxy(sitting) sittings = [] sittings.append(sitting) report = domain.Report() session = Session() #!+REPORTS(miano, dec-2010) using test request here is not quite right # TODO : fix this. from zope.publisher.browser import TestRequest report.start_date = sitting.start_date report.end_date = sitting.end_date # The owner ID is the ID of the user that performed the last workflow # change for change in reversed(sitting.changes): if change.action == "workflow": owner_id = change.user_id break assert owner_id is not None, _("No user is defined. Are you logged in as Admin?") report.owner_id = owner_id report.language = get_default_language() report.created_date = datetime.datetime.now() report.group_id = sitting.group_id if sitting.status == 'published_agenda': report.short_name = "Sitting Agenda" drc = DefaultReportContent(sittings, report.short_name, False) report.body_text = DefaultReportView(drc, TestRequest())() elif sitting.status == 'published_minutes': report.short_name = "Sitting Votes and Proceedings" drc = DefaultReportContent(sittings, report.short_name, True) report.body_text = DefaultReportView(drc, TestRequest())() session.add(report) notify(ObjectCreatedEvent(report)) sr = domain.SittingReport() sr.report = report sr.sitting = sitting session.add(sr) notify(ObjectCreatedEvent(sr)) session.commit() container.invalidate_caches_for("Report", "add") container.invalidate_caches_for("SittingReport", "add")
def handle_save(self, action, data): report = domain.Report() session = Session() report.body_text = data["body_text"] report.start_date = data["start_date"] report.end_date = data["end_date"] report.note = data["note"] report.short_name = data["short_name"] report.owner_id = get_db_user_id() report.language = get_default_language() report.created_date = datetime.datetime.now() report.group_id = self.context.group_id session.add(report) session.flush() notify(ObjectCreatedEvent(report)) if "sittings" in data.keys(): try: ids = data["sittings"].split(",") for id_number in ids: sit_id = int(id_number) sitting = session.query(domain.GroupSitting).get(sit_id) sr = domain.SittingReport() sr.report = report sr.sitting = sitting session.add(sr) notify(ObjectCreatedEvent(report)) except: #if no sittings are present in report or some other error occurs pass session.commit() if IGroupSitting.providedBy(self.context): back_link = "./schedule" elif ISchedulingContext.providedBy(self.context): back_link = "./" else: raise NotImplementedError self.request.response.redirect(back_link)
def __init__(self, *args): super(TranslateForm, self).__init__(*args) self.language = self.request.get("language", get_default_language())
def __init__(self, *args): super(TranslateForm, self).__init__(*args) self.language = self.request.get('language', get_default_language())