def description(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) text = "%s %s %s" % (translate_i18n(_(u"Submitted by")), context.owner.first_name, context.owner.last_name) if context.notice_date: text += " (%s %s)" % (translate_i18n(_(u"notice given on")), self.formatDate(context.notice_date)) return text + "."
def calendar_js_globals(self): limit_start = ISchedulingContext(self.context).start_date limit_end = ISchedulingContext(self.context).end_date cal_globals = dict( limit_start=limit_start.isoformat() if limit_start else None, limit_end=limit_end.isoformat() if limit_end else None, ical_url=self.ical_url, required_fields=[ field.field.getName() for field in self.partial_event_form.form_fields if field.field.required ], view_url=self.url, venues_view_title=translate_i18n(TITLE_VENUES_VIEW), text_group=translate_i18n(FIELD_GROUP), text_start_date=translate_i18n(FIELD_START_DATE), text_end_date=translate_i18n(FIELD_END_DATE), text_venue=translate_i18n(FIELD_VENUE), text_activity_type=translate_i18n(_(u"Activity Type")), text_meeting_type=translate_i18n(_(u"Meeting Type")), text_convocation_type=translate_i18n(_(u"Convocation Type")), text_sitting=translate_i18n(TITLE_SITTING), text_view=translate_i18n(ACTION_VIEW_SITTING), error_messages=dict( default=_(u"Please check the highlighted sittings. " "Failed to apply changes"), updated=_(u"Please review the highlighted sittings." " Could not apply changes."), deleted=_(u"Please review the highlighted events." " Could not be deleted."))) return """var cal_globals = %s; var timeline_data = { venues: %s, combined: %s }; var group_urls= %s;""" % ( json.dumps(cal_globals), json.dumps(self.venues_data), json.dumps(self.groups_data), json.dumps(self.calendar_urls()))
def calendar_js_globals(self): cal_globals = dict( ical_url=self.ical_url, required_fields=[field.field.getName() for field in self.partial_event_form.form_fields if field.field.required ], view_url=self.url, venues_view_title=translate_i18n(TITLE_VENUES_VIEW), text_group=translate_i18n(FIELD_GROUP), text_start_date=translate_i18n(FIELD_START_DATE), text_end_date=translate_i18n(FIELD_END_DATE), text_venue=translate_i18n(FIELD_VENUE), text_activity_type=translate_i18n(_(u"Activity Type")), text_meeting_type=translate_i18n(_(u"Meeting Type")), text_convocation_type=translate_i18n(_(u"Convocation Type")), text_sitting=translate_i18n(TITLE_SITTING), text_view=translate_i18n(ACTION_VIEW_SITTING), error_messages=dict( default=_(u"Please check the highlighted sittings. " "Failed to apply changes"), updated=_(u"Please review the highlighted sittings." " Could not apply changes."), deleted=_(u"Please review the highlighted events." " Could not be deleted.") ) ) return """var cal_globals = %s; var timeline_data = { venues: %s, committees: %s }; var group_urls= %s;""" %( json.dumps(cal_globals), json.dumps(self.venues_data), json.dumps(self.groups_data), json.dumps(self.calendar_urls()) )
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_(u"Submitted by")), context.owner.first_name, context.owner.last_name) if context.notice_date: text += " (%s %s)" % (translate_i18n( _(u"notice given on")), self.formatDate(context.notice_date)) return text + "."
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_("Submitted by")), context.owner.first_name, context.owner.last_name) if context.group: text += " to %s" % IDCDescriptiveProperties(context.group).title if context.admissible_date: text += " (%s %s)" % (translate_i18n(_(u"Approved on")), self.formatDate(context.admissible_date)) return text + "."
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_("Submitted by")), context.owner.first_name, context.owner.last_name) if context.publication_date: text += " (%s %s)" % (translate_i18n( _(u"published on")), self.formatDate(context.publication_date)) return text + "."
def description(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) text = "%s %s %s" % (translate_i18n(_(u"Submitted by")), context.owner.first_name, context.owner.last_name) if context.notice_date: text += " (%s %s)" % (translate_i18n( _(u"notice given on")), self.formatDate(context.notice_date)) return text + "."
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_("Submitted by")), context.owner.first_name, context.owner.last_name) if context.group: text += " to %s" % IDCDescriptiveProperties(context.group).title if context.admissible_date: text += " (%s %s)" % (translate_i18n( _(u"Approved on")), self.formatDate(context.admissible_date)) return text + "."
def verbose_title(self): context = _merged(self.context) sitting_title = _( "verbose_sitting_title", default=u"Sitting of ${group_name} @ ${sitting_venue}", mapping={ "group_name": IDCDescriptiveProperties(context.group).title, "sitting_venue": (IDCDescriptiveProperties(context.venue).title if context.venue else translate_i18n(_(u"no venue"))) }) return translate_i18n(sitting_title)
def verbose_title(self): context = _merged(self.context) sitting_title = _("verbose_sitting_title", default=u"Sitting of ${group_name} @ ${sitting_venue}", mapping = { "group_name": IDCDescriptiveProperties(context.group).title, "sitting_venue": ( IDCDescriptiveProperties(context.venue).title if context.venue else translate_i18n(_(u"no venue")) ) } ) return translate_i18n(sitting_title)
def add_wf_meta(enum): index, item = enum node = nodes[index] wfc = IWorkflowController(node.item, None) if wfc is None: return #!+SCHEDULING_FILTERS(mb, mar-2012) Find a more elegant way to do this # perhaps as a workflow feature if not len(wfc.workflow.get_state_ids(keys=["draft"], restrict=False)): return item["wf_state"] = translate_i18n(wfc.state_controller.get_state().title) item["wf_actions"] = [ dict(value=transition, text=translate_i18n(wfc.workflow.get_transition(transition).title)) for transition in wfc.getFireableTransitionIds() ]
def title(self): context = _merged(self.context) return "%s %s, %s %s %s" % (translate_i18n(_(u"Debate Record:")), self.translate(context.sitting, "short_name"), context.sitting.start_date.strftime('%Y-%m-%d, %H:%M'), _(u"to"), context.sitting.end_date.strftime('%H:%M'))
def description(self): context = _merged(self.context) return "%s %s (%s %s %s)" % (translate_i18n(_(u"Debate record of ")), self.translate(context.sitting, "short_name"), context.sitting.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.sitting.end_date.strftime('%H:%M'))
def process_document_tree(root, context): """Iterate and optionally update children of provided root node. Rendering is based on type of node. Further calls to this function happen when a node with children exists - and so on. Only nodes with the bungeni namespace tags "br:type" are modified with content from the provided context. """ iter_children = root.getchildren() or [root] if not (root in iter_children): root_typ = get_attr(root, "type") if root_typ: process_single_node(root, context, root_typ, get_attr(root, "source")) for child in iter_children: typ = get_attr(child, "type") src = get_attr(child, "source") children = child.getchildren() if len(children) == 0: if typ: process_single_node(child, context, typ, src) else: if typ: if typ == "listing": clean_element(child) children = child.getchildren() listing = get_element_value(context, src, default=[]) if IAlchemistContainer.providedBy(listing): listing = [ item for item in common.list_container_items(listing) ] len_listing = len(listing) expanded_children = [ deepcopy(children) for x in range(len_listing) ] empty_element(child) if len(listing) == 0: no_items_tag = "p" if child.tag == "tr": no_items_tag = "td" no_items_node = etree.SubElement( child, no_items_tag) no_items_node.text = translate_i18n( _(u"No items found")) else: for (index, item) in enumerate(listing): for inner_element in expanded_children[ index]: iroot = process_document_tree( inner_element, item) child.append(iroot) else: process_document_tree(child, context) else: process_document_tree(child, context) return root
def get_listings(context, request, sub_container_name=""): trusted = removeSecurityProxy(context) if hasattr(trusted, sub_container_name): sub_container = removeSecurityProxy( getattr(trusted, sub_container_name) ) #!+DESCRIPTOR_LOOKUP(murithi, jul-2011) descriptor lookup fails in # testing - as at r8474 : use sub_container_name as title #table_title = (CONTAINER_TITLES.get(sub_container_name, None) or # IDCDescriptiveProperties(sub_container).title #) table_title = sub_container_name columns = [ LinkColumn("title", lambda i,f:IDCDescriptiveProperties(i).title), ] for extra_col in EXTRA_COLUMNS.get(sub_container_name, []): columns.append(column.GetterColumn(extra_col, lambda i,f:getattr(IDCDescriptiveProperties(i), extra_col) ) ) if hasattr(sub_container, "values"): items = [ removeSecurityProxy(it) for it in sub_container.values() ] else: items = [ removeSecurityProxy(it) for it in sub_container ] if not len(items): return u"" formatter = SimpleContainerListing(context, request, items, columns=columns ) return formatter(translate_i18n(table_title)) else: return u""
def description(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return u"%s %s to %s" % (translate_i18n(_(u"Covers")), context.start_date.strftime('%Y-%m-%d'), context.end_date.strftime('%Y-%m-%d') )
def title(self): context = _merged(self.context) return "%s %s, %s %s %s" % ( translate_i18n(_(u"Debate Record:")), self.translate(context.sitting, "short_name"), context.sitting.start_date.strftime('%Y-%m-%d, %H:%M'), _(u"to"), context.sitting.end_date.strftime('%H:%M'))
def process_document_tree(root, context): """Iterate and optionally update children of provided root node. Rendering is based on type of node. Further calls to this function happen when a node with children exists - and so on. Only nodes with the bungeni namespace tags "br:type" are modified with content from the provided context. """ cond = get_attr(root, "condition") if cond and not check_exists(context, cond): return None iter_children = root.getchildren() or [root] if not (root in iter_children): root_typ = get_attr(root, "type") if root_typ: process_single_node(root, context, root_typ, get_attr(root, "source")) for child in iter_children: typ = get_attr(child, "type") src = get_attr(child, "source") cond = get_attr(child, "condition") if cond and not check_exists(context, cond): drop_element(child) continue children = child.getchildren() if len(children) == 0: if typ: process_single_node(child, context, typ, src) else: if typ: if typ == "listing": clean_element(child) children = child.getchildren() listing = get_element_value(context, src, default=[]) if IAlchemistContainer.providedBy(listing): listing = [item for item in common.list_container_items(listing)] len_listing = len(listing) expanded_children = [deepcopy(children) for x in range(len_listing)] empty_element(child) if len(listing) == 0: no_items_tag = "p" if child.tag == "tr": no_items_tag = "td" no_items_node = etree.SubElement(child, no_items_tag) no_items_node.text = translate_i18n(_(u"No items found")) else: for (index, item) in enumerate(listing): for inner_element in expanded_children[index]: iroot = process_document_tree(inner_element, item) if iroot is not None: child.append(iroot) elif typ == "block" and src: block_context = get_element_value(context, src, default=None) process_document_tree(child, block_context) else: process_document_tree(child, context) else: process_document_tree(child, context) clean_element(root) return root
def description(self): context = _merged(self.context) return "%s %s (%s %s %s)" % ( translate_i18n(_(u"Debate record of ")), self.translate(context.sitting, "short_name"), context.sitting.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.sitting.end_date.strftime('%H:%M'))
def description(self): context = _merged(self.context) return "%s %s (%s %s %s)" % ( translate_i18n(_(u"Sitting scheduled for")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def description(self): context = _merged(self.context) return "%s %s (%s %s %s)" % (translate_i18n(_(u"Sitting scheduled for")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def get_listings(context, request, sub_container_name=""): trusted = removeSecurityProxy(context) if hasattr(trusted, sub_container_name): sub_container = removeSecurityProxy( getattr(trusted, sub_container_name)) #!+DESCRIPTOR_LOOKUP(murithi, jul-2011) descriptor lookup fails in # testing - as at r8474 : use sub_container_name as title #table_title = (CONTAINER_TITLES.get(sub_container_name, None) or # IDCDescriptiveProperties(sub_container).title #) table_title = sub_container_name columns = [ LinkColumn("title", lambda i, f: IDCDescriptiveProperties(i).title), ] for extra_col in EXTRA_COLUMNS.get(sub_container_name, []): columns.append( column.GetterColumn( extra_col, lambda i, f: getattr( IDCDescriptiveProperties(i), extra_col))) if hasattr(sub_container, "values"): items = [removeSecurityProxy(it) for it in sub_container.values()] else: items = [removeSecurityProxy(it) for it in sub_container] if not len(items): return u"" formatter = SimpleContainerListing(context, request, items, columns=columns) return formatter(translate_i18n(table_title)) else: return u""
def description(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return "%s %s (%s %s %s)" % ( translate_i18n(_(u"Sitting scheduled for")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def title(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return "%s %s, %s %s %s" % ( translate_i18n( _(u"Sitting:")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d, %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def title(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return "%s %s, %s %s %s" % (translate_i18n(_(u"Sitting:")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d, %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def description(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return "%s %s (%s %s %s)" % (translate_i18n(_(u"Sitting scheduled for")), self.translate(context.group, "short_name"), context.start_date.strftime('%Y-%m-%d %H:%M'), _(u"to"), context.end_date.strftime('%H:%M'))
def generate_tree(root, context): for element in root.getiterator(): typ = get_attr(element, "type") src = get_attr(element, "source") if typ: if typ=="text": clean_element(element) element.text = get_element_value(context, src) elif typ=="link": clean_element(element) url_source = get_attr(element, "url") if url_source: link_url = get_element_value(context, url_source) else: link_url = url.absoluteURL(context, common.get_request() ) element.attrib["href"] = link_url if src: element.text = get_element_value(context, src) elif typ=="html": clean_element(element) _html = u"<div>%s</div>" % get_element_value(context, src ) new_html = element.insert(0, etree.fromstring(_html)) elif typ=="listing": listing = get_element_value(context, src, default=[]) if IAlchemistContainer.providedBy(listing): _listing = common.list_container_items(listing) listing = [ item for item in _listing ] log.debug("[LISTING] %s @@ %s", src, listing) listing_count = len(listing) new_children = [ deepcopy(element.getchildren()) for x in range(listing_count) ] empty_element(element) clean_element(element) if listing_count == 0: parent = element.getparent() no_items_element = etree.SubElement(element, "p") no_items_element.text = translate_i18n( _(u"No items found") ) else: for (index, item) in enumerate(listing): for child in new_children[index]: generate_tree(child, item) for children in new_children: for descendant in children: element.append(descendant) break return etree.tostring(root)
def title(self): context = _merged(self.context) return "%s %s, %s %s %s" % ( translate_i18n(_(u"Sitting:")), self.translate(context.group, "short_name"), context.start_date.strftime("%Y-%m-%d, %H:%M"), _(u"to"), context.end_date.strftime("%H:%M"), )
def calendar_js_globals(self): cal_globals = dict( ical_url=self.ical_url, view_url=self.url, venues_view_title=translate_i18n(_(u"Venues")), text_group=translate_i18n(_(u"Group")), text_start_date=translate_i18n(_(u"Start Date")), text_end_date=translate_i18n(_(u"End Date")), text_venue=translate_i18n(_(u"Venue")), text_activity_type=translate_i18n(_(u"Activity Type")), text_meeting_type=translate_i18n(_(u"Meeting Type")), text_convocation_type=translate_i18n(_(u"Convocation Type")), text_sitting=translate_i18n(_(u"Sitting")), ) return """var cal_globals = %s;var venues_data=%s;""" % (json.dumps(cal_globals), json.dumps(self.venues_data))
def add_wf_meta(enum): index, item = enum node = nodes[index] item["item_id"] = node.item_id if model_interfaces.IScheduleText.providedBy(node.item): return if not include_wf: return wfc = IWorkflowController(node.item, None) if wfc is None: return item["wf_state"] = translate_i18n( wfc.state_controller.get_state().title) item["wf_actions"] = [ dict(value=transition, text=translate_i18n( wfc.workflow.get_transition(transition).title)) for transition in wfc.getFireableTransitionIds() ]
def format_change_description(change): """Format/i18n a document's change object description for timeline listing """ description = change.description if change.action == "new-version": version = change.origin.versions.get( int(change.extras.get("version_id"))) chg_url = url.absoluteURL(version, common.get_request()) if chg_url: description = "<a href='%s'>%s</a>" % (chg_url, (translate_i18n( change.description) or translate_i18n(u"New Version"))) elif change.action == "workflow": description = translate_i18n(change.description) if not description: # use principal effecting the change as description as a fallback dc = IDCDescriptiveProperties(change.user, None) if dc: description = translate_i18n(dc.title_member) return description
def add_wf_meta(enum): index, item = enum node = nodes[index] wfc = IWorkflowController(node.item, None) if wfc is None: return #!+SCHEDULING_FILTERS(mb, mar-2012) Find a more elegant way to do this # perhaps as a workflow feature if not len( wfc.workflow.get_state_ids(keys=["draft"], restrict=False)): return item["wf_state"] = translate_i18n( wfc.state_controller.get_state().title) item["wf_actions"] = [ dict(value=transition, text=translate_i18n( wfc.workflow.get_transition(transition).title)) for transition in wfc.getFireableTransitionIds() ]
def verbose_title(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) sitting_title = _("verbose_sitting_title", default=u"Sitting of ${group_name} @ ${sitting_venue}", mapping = { "group_name": IDCDescriptiveProperties(context.group).title, "sitting_venue": IDCDescriptiveProperties(context.venue).title } ) return translate_i18n(sitting_title)
def verbose_title(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) sitting_title = _( "verbose_sitting_title", default=u"Sitting of ${group_name} @ ${sitting_venue}", mapping={ "group_name": IDCDescriptiveProperties(context.group).title, "sitting_venue": IDCDescriptiveProperties(context.venue).title }) return translate_i18n(sitting_title)
def generate_tree(root, context): for element in root.getiterator(): typ = get_attr(element, "type") src = get_attr(element, "source") if typ: if typ == "text": clean_element(element) element.text = get_element_value(context, src) elif typ == "link": clean_element(element) url_source = get_attr(element, "url") if url_source: link_url = get_element_value(context, url_source) else: link_url = url.absoluteURL(context, common.get_request()) element.attrib["href"] = link_url if src: element.text = get_element_value(context, src) elif typ == "html": clean_element(element) _html = u"<div>%s</div>" % get_element_value( context, src) new_html = element.insert(0, etree.fromstring(_html)) elif typ == "listing": listing = get_element_value(context, src, default=[]) if IAlchemistContainer.providedBy(listing): _listing = common.list_container_items(listing) listing = [item for item in _listing] log.debug("[LISTING] %s @@ %s", src, listing) listing_count = len(listing) new_children = [ deepcopy(element.getchildren()) for x in range(listing_count) ] empty_element(element) clean_element(element) if listing_count == 0: parent = element.getparent() no_items_element = etree.SubElement(element, "p") no_items_element.text = translate_i18n( _(u"No items found")) else: for (index, item) in enumerate(listing): for child in new_children[index]: generate_tree(child, item) for children in new_children: for descendant in children: element.append(descendant) break return etree.tostring(root)
def calendar_js_globals(self): cal_globals = dict( ical_url=self.ical_url, view_url=self.url, venues_view_title=translate_i18n(_(u"Venues")), text_group=translate_i18n(_(u"Group")), text_start_date=translate_i18n(_(u"Start Date")), text_end_date=translate_i18n(_(u"End Date")), text_venue=translate_i18n(_(u"Venue")), text_activity_type=translate_i18n(_(u"Activity Type")), text_meeting_type=translate_i18n(_(u"Meeting Type")), text_convocation_type=translate_i18n(_(u"Convocation Type")), text_sitting=translate_i18n(_(u"Sitting")), ) return """var cal_globals = %s;var venues_data=%s;""" %( json.dumps(cal_globals), json.dumps(self.venues_data) )
def add_wf_meta(enum): index, item = enum node = nodes[index] item["item_id"] = node.item_id if model_interfaces.IScheduleText.providedBy(node.item): return if not include_wf: return wfc = IWorkflowController(node.item, None) if wfc is None: return item["wf_state"] = translate_i18n( wfc.state_controller.get_state().title ) item["wf_actions"] = [ dict( value=transition, text=translate_i18n( wfc.workflow.get_transition(transition).title ) ) for transition in wfc.getFireableTransitionIds() ]
def getMenuItems(self, context, request): results = [] _url = url.absoluteURL(context, request) if IBungeniContent.providedBy(context): doc_templates = self.documentTemplates() for doc_type in ["pdf", "odt"]: if doc_templates: for template in doc_templates: i18n_title = translate_i18n(globals()["i18n_%s" % doc_type]) results.append(dict( title="%s [%s]" % (i18n_title,template.get("title")), description="", action="%s/%s?template=%s" % (_url, doc_type, template.get("location")), selected=False, extra = { "id": "download-%s-%s" %(doc_type, misc.slugify(template.get("location")) ), "class": "download-document" }, icon=None, submenu=None )) else: results.append(dict( title = doc_type, description=doc_type, action = "%s/%s" %(_url, doc_type), selected=False, icon=None, extra={}, submenu=None )) if interfaces.IRSSRepresentationLayer.providedBy(request): for doc_type in ["akomantoso", "rss"]: results.append(dict( title = globals()["i18n_%s" % doc_type], description="", action = "%s/feed.%s" %(_url, doc_type), selected=False, icon=None, extra={ "id": "download-%s" % doc_type }, submenu=None )) return results
def format_change_description(change): """Format/i18n a document's change object description for timeline listing """ description = change.description if change.action == "new-version": version = change.origin.versions.get( int(change.extras.get("version_id")) ) chg_url = url.absoluteURL(version, common.get_request()) if chg_url: description = "<a href='%s'>%s</a>" % ( chg_url, (translate_i18n(change.description) or translate_i18n(u"New Version") ) ) elif change.action == "workflow": description = translate_i18n(change.description) if not description: # use principal effecting the change as description as a fallback dc = IDCDescriptiveProperties(change.user, None) if dc: description = translate_i18n(dc.title_member) return description
def getMenuItems(self, context, request): results = [] _url = url.absoluteURL(context, request) if IBungeniContent.providedBy(context): doc_templates = self.documentTemplates() for doc_type in ["pdf", "odt"]: if doc_templates: for template in doc_templates: i18n_title = translate_i18n(globals()["i18n_%s" % doc_type]) results.append( dict(title="%s [%s]" % (i18n_title, template.get("title")), description="", action="%s/%s?template=%s" % (_url, doc_type, template.get("location")), selected=False, extra={ "id": "download-%s-%s" % (doc_type, misc.slugify(template.get("location"))), "class": "download-document" }, icon=None, submenu=None)) else: results.append( dict(title=doc_type, description=doc_type, action="%s/%s" % (_url, doc_type), selected=False, icon=None, extra={}, submenu=None)) if interfaces.IRSSRepresentationLayer.providedBy(request): for doc_type in ["akomantoso", "rss"]: results.append( dict(title=globals()["i18n_%s" % doc_type], description="", action="%s/feed.%s" % (_url, doc_type), selected=False, icon=None, extra={"id": "download-%s" % doc_type}, submenu=None)) return results
def status(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return translate_i18n(misc.get_wf_state(context))
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_("Submitted by")), context.owner.first_name, context.owner.last_name) if context.publication_date: text += " (%s %s)" % (translate_i18n(_(u"published on")), self.formatDate(context.publication_date)) return text + "."
def description(self): return "%s %s" % (translate_i18n( _(u"Last modified")), self.context.change.date)
def mover(self): context = _merged(self.context) # !+TRANSLATE_MESS(mr, oct-2012) this is content data and NOT a UI msgid? # Should then be using translate_obj ?! return translate_i18n( IDCDescriptiveProperties(context.owner).title_member)
def description(self): context = _merged(self.context) text = "%s %s %s" % (translate_i18n(_(u"Submitted by")), context.owner.first_name, context.owner.last_name) if context.notice_date: text += " (%s %s)" % (translate_i18n(_(u"notice given on")), self.formatDate(context.notice_date)) return text + "."
def title(self): return translate_i18n( capi.get_type_info(self.context).descriptor_model.display_name)
def description(self): return "%s %s" % (translate_i18n(_(u"Last modified")), self.context.change.date)
def mover(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return translate_i18n( IDCDescriptiveProperties(context.owner).title_member )
def status(self): context = _merged(self.context) return translate_i18n(misc.get_wf_state(context))
def getMenuItems(self, context, request): results = [] _url = url.absoluteURL(context, request) if IFeatureDownload.providedBy(context): doc_templates = self.documentTemplates(request.locale) for doc_type in document_types: if doc_templates: for template in doc_templates: i18n_title = translate_i18n(globals()["i18n_%s" % doc_type]) results.append( dict(title="%s [%s]" % (i18n_title, template.get("title")), description="", action="%s/%s?template=%s" % (_url, doc_type, template.get("location")), selected=False, extra={ "id": "download-%s-%s" % (doc_type, misc.slugify(template.get("location"))), "class": "download-document" }, icon=None, submenu=None)) else: results.append( dict(title=doc_type, description=doc_type, action="%s/%s" % (_url, doc_type), selected=False, icon=None, extra={}, submenu=None)) if interfaces.IRSSRepresentationLayer.providedBy(request): for doc_type in xml_types: if doc_type == TYPE_AKOMANTOSO: if IAlchemistContainer.providedBy(context): if not IFeatureDownload.implementedBy( context.domain_model): continue elif doc_type == TYPE_RSS: # rss for content types only availble for auditables if (IFeatureDownload.providedBy(context) and not IFeatureAudit.providedBy(context)): continue elif (IAlchemistContainer.providedBy(context) and not IFeatureAudit.implementedBy( context.domain_model)): continue results.append( dict(title=globals()["i18n_%s" % doc_type], description="", action="%s/feed.%s" % (_url, doc_type), selected=False, icon=None, extra={"id": "download-%s" % doc_type}, submenu=None)) return results
def getMenuItems(self, context, request): results = [] _url = url.absoluteURL(context, request) if IFeatureDownload.providedBy(context): doc_templates = self.documentTemplates(request.locale) for doc_type in document_types: if doc_templates: for template in doc_templates: i18n_title = translate_i18n(globals()["i18n_%s" % doc_type]) results.append(dict( title="%s [%s]" % (i18n_title,template.get("title")), description="", action="%s/%s?template=%s" % (_url, doc_type, template.get("location")), selected=False, extra = { "id": "download-%s-%s" %(doc_type, misc.slugify(template.get("location")) ), "class": "download-document" }, icon=None, submenu=None )) else: results.append(dict( title = doc_type, description=doc_type, action = "%s/%s" %(_url, doc_type), selected=False, icon=None, extra={}, submenu=None )) if interfaces.IRSSRepresentationLayer.providedBy(request): for doc_type in xml_types: if doc_type == TYPE_AKOMANTOSO: if IAlchemistContainer.providedBy(context): if not IFeatureDownload.implementedBy( context.domain_model ): continue elif doc_type == TYPE_RSS: # rss for content types only availble for auditables if (IFeatureDownload.providedBy(context) and not IFeatureAudit.providedBy(context) ): continue elif (IAlchemistContainer.providedBy(context) and not IFeatureAudit.implementedBy(context.domain_model) ): continue results.append(dict( title = globals()["i18n_%s" % doc_type], description="", action = "%s/feed.%s" %(_url, doc_type), selected=False, icon=None, extra={ "id": "download-%s" % doc_type }, submenu=None )) return results
def description(self): return "%s (%s)" % (translate_i18n(self.context.description), self.formatDate(self.context.date_active))
def mover(self): session = Session() context = session.merge(removeSecurityProxy(self.context)) return translate_i18n( IDCDescriptiveProperties(context.owner).title_member)