def sitting_dates(self): date_formatter = date.getLocaleFormatter(self.request) time_formatter = date.getLocaleFormatter(self.request, "time", "short") delta = self.context.end_date - self.context.start_date if delta.days == 0: localized_start_date = "%s - %s" %( date_formatter.format(self.context.start_date), time_formatter.format(self.context.start_date) ) localized_end_date = time_formatter.format(self.context.end_date) else: localized_start_date = "%s, %s" %( date_formatter.format(self.context.start_date), time_formatter.format(self.context.start_date) ) localized_end_date = "%s, %s" %( date_formatter.format(self.context.end_date), time_formatter.format(self.context.end_date) ) return _("${localized_start_date} to ${localized_end_date}", mapping = { "localized_start_date" : localized_start_date, "localized_end_date" : localized_end_date, } )
def getter(item, formatter): request = common.get_request() start = getattr(item, from_name) if start: start = date.getLocaleFormatter(request, "dateTime", format_length).format(start) end = getattr(item, to_name) if end: end = date.getLocaleFormatter(request, "time", format_length).format(end) return "%s - %s" % (start, end)
def _setData(self): """Return the data of the query. """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") for result in results: data = {} data["qid"] = ("i-" + str(result.parliamentary_item_id)) if type(result) == domain.AgendaItem: g = u" " + result.group.type + u" " + result.group.short_name else: g = u"" # !+ g? data["subject"] = result.short_name data["title"] = result.short_name data["result_item_class"] = "workflow-state-" + result.status data["url"] = url.set_url_context( "%ss/obj-%i" % (result.type, result.parliamentary_item_id)) data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "%s %s" % (result.owner.first_name, result.owner.last_name) data["type"] = _(result.type) if type(result) == domain.Question: data["to"] = result.ministry.short_name else: data["to"] = u"" # remember original domain object data["id"] = result.parliamentary_item_id data["_obj"] = result # append processed result item data_list.append(data) self._data = data_list
def _setData(self): """Return the data of the query. """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") for result in results: data = {} data["qid"] = ("i-" + str(result.parliamentary_item_id)) if type(result)==domain.AgendaItem: g = u" " + result.group.type + u" " + result.group.short_name else: g = u"" # !+ g? data["subject"] = result.short_name data["title"] = result.short_name data["result_item_class"] = "workflow-state-" + result.status data["url"] = url.set_url_context("%ss/obj-%i" % ( result.type, result.parliamentary_item_id)) data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "%s %s" %(result.owner.first_name, result.owner.last_name) data["type"] = _(result.type) if type(result)==domain.Question: data["to"] = result.ministry.short_name else: data["to"]= u"" # remember original domain object data["id"] = result.parliamentary_item_id data["_obj"] = result # append processed result item data_list.append(data) self._data = data_list
def _setData(self): """ return the data of the query """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") for result in results: data ={} data["qid"]= ("m_" + str(result.motion_id)) data["subject"] = u"M " + str(result.motion_number) + u" " + result.short_name data["title"] = result.short_name if result.approval_date: data["result_item_class"] = ("workflow-state-" + result.status + "sc-after-" + datetime.date.strftime(result.approval_date, "%Y-%m-%d")) else: data["result_item_class"] = "workflow-state-" + result.status data["url"] = url.set_url_context("motions/obj-" + str(result.motion_id)) data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "%s %s" %(result.owner.first_name, result.owner.last_name) data["type"] = _(result.type) data["to"] = "" data_list.append(data) self._data = data_list
def _getItems(self, ministry): session = Session() date_formatter = date.getLocaleFormatter(self.request, "date", "long") def _q_data_item(q): item = {} item["qid"] = "q_%s" % q.question_id if q.question_number: item["subject"] = u"Q %s %s (%s)" % (q.question_number, q.short_name, q.status) else: item["subject"] = u"%s (%s)" % (q.short_name, q.status) item["title"] = u"%s (%s)" % (q.short_name, q.status) item["result_item_class"] = "workflow-state-%s" % q.status item["url"] = url.set_url_context("questions/obj-%s" % q.question_id) item["status"] = misc.get_wf_state(q) item["status_date"] = date_formatter.format(q.status_date) item["owner"] = "%s %s" % (q.owner.first_name, q.owner.last_name) item["type"] = _(q.type) if type(q) == domain.Question: item["to"] = q.ministry.short_name else: item["to"] = u"" return item # prepare query for this ministry's questions mq_query = session.query(domain.Question).filter( sql.and_(domain.Question.ministry_id == ministry.group_id, domain.Question.status.in_(self.states), domain.Question.response_type.in_(self.response_types))) return [_q_data_item(question) for question in mq_query.all()]
def as_json(self): date_formatter = date.getLocaleFormatter(common.get_request(), "date", "medium" ) items = [ dict( item_type = self.item_type, item_id = orm.object_mapper(item).primary_key_from_instance( item )[0], item_title = IDCDescriptiveProperties(item).title, status = IWorkflow(item).get_state(item.status).title, status_date = ( date_formatter.format(item.submission_date) if (hasattr(item, "submission_date") and getattr(item, "submission_date") ) else None ), registry_number = ( item.registry_number if hasattr(item, "registry_number") else None ), item_mover = ( IDCDescriptiveProperties(item.owner).title if hasattr(item, "owner") else None ), item_uri = "%s-%d" % (self.item_type, orm.object_mapper(item).primary_key_from_instance(item)[0] ) ) for item in self.query() ] items = sorted(items, key=lambda item:item.get("status_date"), reverse=True ) return json.dumps(dict(items=items))
def _setData(self): """return the data of the query """ #offset = datetime.timedelta(prefs.getNoOfDaysBeforeQuestionSchedule()) date_formatter = date.getLocaleFormatter(self.request, "date", "long") def _q_data_item(q): item = {} item["qid"] = "q_%s" % q.question_id if q.question_number: item["subject"] = u"Q %s %s" % (q.question_number, q.short_name) else: item["subject"] = q.short_name item["title"] = q.short_name item["result_item_class"] = "workflow-state-%s" % q.status item["url"] = url.set_url_context("questions/obj-%s" % q.question_id) item["status"] = misc.get_wf_state(q) item["status_date"] = date_formatter.format(q.status_date) item["owner"] = "%s %s" % (q.owner.first_name, q.owner.last_name) item["type"] = _(q.type) item["to"] = q.ministry.short_name return item self._data = [_q_data_item(question) for question in self.query.all()]
def __init__(self, context, request, view, manager): self.context = context self.request = request self.__parent__ = view self.manager = manager self.query = None self.formatter = date.getLocaleFormatter(self.request, "dateTime", "medium")
def getter(item, formatter): value = getattr(item, name) if value: request = common.get_request() date_formatter = date.getLocaleFormatter(request, category, length) return date_formatter.format(value) return ""
def __init__(self, context, request): super(VersionLogView, self).__init__(context.__parent__, request) # table to display the versions history formatter = date.getLocaleFormatter(self.request, "dateTime", "short") # !+ note this breaks the previous sort-dates-as-strings-hack of # formatting dates, for all locales, as date.strftime("%Y-%m-%d %H:%M") # that, when sorted as a string, gives correct results. self.columns = [ column.SelectionColumn(lambda item: str(item.version_id), name="selection"), column.GetterColumn(title=_(u"version"), getter=lambda i, f: '<a href="%s">%d</a>' % ("%s/versions/obj-%d" % (f.url, i.version_id), i.version_id)), column.GetterColumn(title=_(u"manual"), getter=lambda i, f: i.manual), column.GetterColumn( title=_(u"modified"), getter=lambda i, f: formatter.format(i.change.date_active)), column.GetterColumn(title=_(u"by"), getter=lambda i, f: i.change.user_id), column.GetterColumn(title=_(u"message"), getter=lambda i, f: i.change.description), ] self.selection_column = self.columns[0]
def as_json(self): is_text = IScheduleText.implementedBy(self.domain_class) date_formatter = date.getLocaleFormatter(common.get_request(), "date", "medium") items = [ dict( item_type=self.item_type, item_id=orm.object_mapper(item).primary_key_from_instance( item)[0], item_title=IDCDescriptiveProperties(item).title, status=(IWorkflow(item).get_state(item.status).title if not is_text else None), status_date=(date_formatter.format(item.submission_date) if (hasattr(item, "submission_date") and getattr(item, "submission_date")) else None), registry_number=(item.registry_number if hasattr( item, "registry_number") else None), item_mover=(IDCDescriptiveProperties(item.owner).title if hasattr(item, "owner") else None), item_uri="%s-%d" % (self.item_type, orm.object_mapper(item).primary_key_from_instance(item)[0])) for item in self.query() ] items = sorted(items, key=lambda item: item.get("status_date"), reverse=True) return json.dumps(dict(items=items))
def _getItems(self, ministry): session = Session() date_formatter = date.getLocaleFormatter(self.request, "date", "long") def _q_data_item(q): item = {} item["qid"]= "q_%s" % q.question_id if q.question_number: item["subject"] = u"Q %s %s (%s)" % ( q.question_number, q.short_name, q.status) else: item["subject"] = u"%s (%s)" % (q.short_name, q.status) item["title"] = u"%s (%s)" % (q.short_name, q.status) item["result_item_class"] = "workflow-state-%s" % q.status item["url"] = url.set_url_context("questions/obj-%s" % q.question_id) item["status"] = misc.get_wf_state(q) item["status_date"] = date_formatter.format(q.status_date) item["owner"] = "%s %s" %(q.owner.first_name, q.owner.last_name) item["type"] = _(q.type) if type(q)==domain.Question: item["to"] = q.ministry.short_name else: item["to"]= u"" return item # prepare query for this ministry's questions mq_query = session.query(domain.Question).filter(sql.and_( domain.Question.ministry_id==ministry.group_id, domain.Question.status.in_(self.states), domain.Question.response_type.in_(self.response_types) )) return [ _q_data_item(question) for question in mq_query.all() ]
def _setData(self): """ return the data of the query """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") for result in results: data = {} data["qid"] = ("m_" + str(result.motion_id)) data["subject"] = u"M " + str( result.motion_number) + u" " + result.short_name data["title"] = result.short_name if result.approval_date: data["result_item_class"] = ( "workflow-state-" + result.status + "sc-after-" + datetime.date.strftime(result.approval_date, "%Y-%m-%d")) else: data["result_item_class"] = "workflow-state-" + result.status data["url"] = url.set_url_context("motions/obj-" + str(result.motion_id)) data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "%s %s" % (result.owner.first_name, result.owner.last_name) data["type"] = _(result.type) data["to"] = "" data_list.append(data) self._data = data_list
def as_json(self): date_formatter = date.getLocaleFormatter(common.get_request(), "date", "medium" ) items_json = dict( items = [ dict( item_type = self.item_type, item_id = orm.object_mapper(item).primary_key_from_instance( item )[0], item_title = IDCDescriptiveProperties(item).title, status = IWorkflow(item).get_state(item.status).title, status_date = ( date_formatter.format(item.submission_date) if hasattr(item, "submission_date") else None ), registry_number = ( item.registry_number if hasattr(item, "registry_number") else None ), item_mover = ( IDCDescriptiveProperties(item.owner).title if hasattr(item, "owner") else None ), item_uri = IDCDescriptiveProperties(item).uri ) for item in self.query() ] ) return json.dumps(items_json)
def as_json(self): is_text = IScheduleText.implementedBy(self.domain_class) date_formatter = date.getLocaleFormatter(common.get_request(), "date", "medium" ) items = [ dict( item_type = self.item_type, item_id = orm.object_mapper(item).primary_key_from_instance( item )[0], item_title = item.text if \ is_text else IDCDescriptiveProperties(item).title, status = IWorkflow(item).get_state(item.status).title if not \ is_text else None, status_date = date_formatter.format(item.submission_date) if \ getattr(item, "submission_date", None) else None, registry_number = item.registry_number if \ hasattr(item, "registry_number") else None, item_mover = IDCDescriptiveProperties(item.owner).title if \ hasattr(item, "owner") else None, item_uri = "%s-%d" % (self.item_type, orm.object_mapper(item).primary_key_from_instance(item)[0] ) ) for item in self.query() ] items = sorted(items, key=lambda item:item.get("status_date"), reverse=True ) return json.dumps(dict(items=items))
def _setData(self): """Get the data of the query """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") time_formatter = date.getLocaleFormatter(self.request, "time", "short") for result in results: data = {} data["subject"] = result.short_name # this tab appears in the workspace pi/ view... data["url"] = url.set_url_context("../calendar/sittings/obj-%i/schedule" % result.sitting_id) # Note: same UI is also displayed at: # /business/sittings/obj-%i/schedule % result.sitting_id data["items"] = "" data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "" data["type"] = result.group.type data["group"] = u"%s %s" % ( result.group.type.capitalize(), result.group.short_name) data["time_from_to"] = ( time_formatter.format(result.start_date), time_formatter.format(result.end_date)) data["date"] = formatter.format(result.start_date) if result.venue: data["venue"] = _(result.venue.short_name) #else: # date["venue"] = "" if type(result)==domain.Question: data["to"] = result.ministry.short_name else: data["to"]= "" # past, present, future today = datetime.datetime.today().date() startday = result.start_date.date() if today==startday: data["css_class"] = "present" elif today>startday: data["css_class"] = "past" else: data["css_class"] = "future" data_list.append(data) self._data = data_list
def _setData(self): """Get the data of the query """ data_list = [] results = self.query.all() formatter = date.getLocaleFormatter(self.request, "date", "long") time_formatter = date.getLocaleFormatter(self.request, "time", "short") for result in results: data = {} data["subject"] = result.short_name # this tab appears in the workspace pi/ view... data["url"] = url.set_url_context( "../calendar/sittings/obj-%i/schedule" % result.sitting_id) # Note: same UI is also displayed at: # /business/sittings/obj-%i/schedule % result.sitting_id data["items"] = "" data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "" data["type"] = result.group.type data["group"] = u"%s %s" % (result.group.type.capitalize(), result.group.short_name) data["time_from_to"] = (time_formatter.format(result.start_date), time_formatter.format(result.end_date)) data["date"] = formatter.format(result.start_date) if result.venue: data["venue"] = _(result.venue.short_name) #else: # date["venue"] = "" if type(result) == domain.Question: data["to"] = result.ministry.short_name else: data["to"] = "" # past, present, future today = datetime.datetime.today().date() startday = result.start_date.date() if today == startday: data["css_class"] = "present" elif today > startday: data["css_class"] = "past" else: data["css_class"] = "future" data_list.append(data) self._data = data_list
def __init__(self, context, request): super(FileListingView, self).__init__(context.__parent__, request) formatter = date.getLocaleFormatter(self.request, "dateTime", "short") self.columns = [ column.GetterColumn( title=_(u"file"), getter=lambda i, f: '<a href="%s/files/obj-%d">%s</a>' % (f.url, i.attached_file_id, i.file_title), ), column.GetterColumn(title=_(u"status"), getter=lambda i, f: i.status), column.GetterColumn(title=_(u"modified"), getter=lambda i, f: formatter.format(i.status_date)), ]
def __init__(self, context, request): super(FileListingView, self).__init__(context.__parent__, request) formatter = date.getLocaleFormatter(self.request, "dateTime", "short") self.columns = [ column.GetterColumn(title=_(u"file"), getter=lambda i,f:'<a href="%s/files/obj-%d">%s</a>' % ( f.url, i.attached_file_id, i.file_title)), column.GetterColumn(title=_(u"status"), getter=lambda i,f:i.status), column.GetterColumn(title=_(u"modified"), getter=lambda i,f:formatter.format(i.status_date)), ]
def _handle_edit_action(self, action, data): def applyData(context, form_fields, data, adapters=None): if adapters is None: adapters = {} descriptions = {} for form_field in form_fields: field = form_field.field # Adapt context, if necessary interface = form_field.interface adapter = adapters.get(interface) if adapter is None: if interface is None: adapter = context else: adapter = interface(context) adapters[interface] = adapter name = form_field.__name__ newvalue = data.get(name, form_field) # using form_field as marker if (newvalue is not form_field) and (field.get(adapter) != newvalue): descriptions.setdefault(interface, []).append(field.__name__) field.set(adapter, newvalue) return descriptions descriptions = applyData(self.context, self.form_fields, data, self.adapters) if descriptions: descriptions = [ Attributes(iface, *tuple(keys)) for iface, keys in descriptions.items() ] notify(ObjectModifiedEvent(self.context, *descriptions)) formatter = date.getLocaleFormatter(self.request, "dateTime", "medium") import pytz, datetime try: time_zone = interface.common.idatetime.ITZInfo(self.request) except TypeError: time_zone = pytz.UTC status = _("Updated on ${date_time}", mapping={ "date_time": formatter.format(datetime.datetime.now(time_zone)) }) self.status = status else: self.status = _("No changes")
def columns(self): date_formatter = date.getLocaleFormatter(common.get_request(), "dateTime", "medium") listing_columns = [ column.GetterColumn( title=_("Take start time"), getter=lambda i, f: date_formatter.format(i.start_date)), column.GetterColumn( title=_("Take end time"), getter=lambda i, f: date_formatter.format(i.end_date)), column.GetterColumn(title=_("Take name"), getter=lambda i, f: i.debate_take_name), column.GetterColumn( title=_("Take transcriber"), getter=lambda i, f: IDCDescriptiveProperties(i.user).title), ] return listing_columns
def _setData(self): """Return the data of the query """ formatter = date.getLocaleFormatter(self.request, "date", "long") data_list = [] results = self.query.all() # if no current parliament, no data try: parliament_id = model_utils.get_current_parliament().parliament_id except: return data_list # government_id = self.__parent__.government_id for result in results: data = {} data["qid"] = "g_%s" % (result.group_id) data["subject"] = result.short_name data["title"] = "%s (%s)" % (result.short_name, result.type) data["result_item_class"] = "workflow-state-%s" % (result.status) _url = "/archive/browse/parliaments/obj-%s" % (parliament_id) if type(result) == domain.Parliament: data["url"] = url.set_url_context(_url) continue elif type(result) == domain.Committee: #data["url"] = url + "/committees/obj-" + str(result.group_id) data["url"] = url.set_url_context("/groups/%s/%s" % ( result.parent_group.group_principal_id, result.group_principal_id)) elif type(result) == domain.PoliticalGroup: data["url"] = url.set_url_context( "%s/politicalgroups/obj-%s" % (_url, result.group_id)) elif type(result) == domain.Ministry: data["url"] = url.set_url_context( "%s/governments/obj-%s/ministries/obj-%s" % ( _url, government_id, result.group_id)) else: data["url"] = "#" data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "" data["type"] = _(result.type) data["to"] = "" data_list.append(data) self._data = data_list
def _setData(self): """Return the data of the query """ formatter = date.getLocaleFormatter(self.request, "date", "long") data_list = [] results = self.query.all() # if no current parliament, no data try: parliament_id = model_utils.get_current_parliament().parliament_id except: return data_list # government_id = self.__parent__.government_id for result in results: data = {} data["qid"] = "g_%s" % (result.group_id) data["subject"] = result.short_name data["title"] = "%s (%s)" % (result.short_name, result.type) data["result_item_class"] = "workflow-state-%s" % (result.status) _url = "/archive/browse/parliaments/obj-%s" % (parliament_id) if type(result) == domain.Parliament: data["url"] = url.set_url_context(_url) continue elif type(result) == domain.Committee: #data["url"] = url + "/committees/obj-" + str(result.group_id) data["url"] = url.set_url_context( "/groups/%s/%s" % (result.parent_group.group_principal_id, result.group_principal_id)) elif type(result) == domain.PoliticalGroup: data["url"] = url.set_url_context("%s/politicalgroups/obj-%s" % (_url, result.group_id)) elif type(result) == domain.Ministry: data["url"] = url.set_url_context( "%s/governments/obj-%s/ministries/obj-%s" % (_url, government_id, result.group_id)) else: data["url"] = "#" data["status"] = misc.get_wf_state(result) data["status_date"] = formatter.format(result.status_date) data["owner"] = "" data["type"] = _(result.type) data["to"] = "" data_list.append(data) self._data = data_list
def as_json(self): date_formatter = date.getLocaleFormatter(common.get_request(), "date", "medium") items_json = dict(items=[ dict(item_type=self.item_type, item_id=orm.object_mapper(item).primary_key_from_instance( item)[0], item_title=IDCDescriptiveProperties(item).title, status=IWorkflow(item).get_state(item.status).title, status_date=(date_formatter.format(item.submission_date) if hasattr(item, "submission_date") else None), registry_number=(item.registry_number if hasattr( item, "registry_number") else None), item_mover=(IDCDescriptiveProperties(item.owner). title if hasattr(item, "owner") else None), item_uri=IDCDescriptiveProperties(item).uri) for item in self.query() ]) return json.dumps(items_json)
def __init__(self, context, request): super(ChangeBaseView, self).__init__(context, request) # table to display the versions history formatter = date.getLocaleFormatter(self.request, "dateTime", "short") # !+ note this breaks the previous sort-dates-as-strings-hack of # formatting dates, for all locales, as date.strftime("%Y-%m-%d %H:%M") # that, when sorted as a string, gives correct results. self.columns = [ column.GetterColumn(title=_(u"action"), getter=lambda i,f:i["action"]), column.GetterColumn(title=_(u"date"), getter=lambda i,f:formatter.format(i["date_active"])), column.GetterColumn(title=_(u"user"), getter=lambda i,f:i["user_id"]), column.GetterColumn(title=_(u"description"), getter=lambda i,f:i["description"]), column.GetterColumn(title=_(u"audit date"), getter=lambda i,f:formatter.format(i["date_audit"])), ]
def __init__(self, context, request): super(VersionLogView, self).__init__(context.__parent__, request) # table to display the versions history formatter = date.getLocaleFormatter(self.request, "dateTime", "short") # !+ note this breaks the previous sort-dates-as-strings-hack of # formatting dates, for all locales, as date.strftime("%Y-%m-%d %H:%M") # that, when sorted as a string, gives correct results. self.columns = [ column.SelectionColumn(lambda item: str(item.version_id), name="selection"), column.GetterColumn( title=_(u"version"), getter=lambda i, f: '<a href="%s">%d</a>' % ("%s/versions/obj-%d" % (f.url, i.version_id), i.version_id), ), column.GetterColumn(title=_(u"manual"), getter=lambda i, f: i.manual), column.GetterColumn(title=_(u"modified"), getter=lambda i, f: formatter.format(i.change.date_active)), column.GetterColumn(title=_(u"by"), getter=lambda i, f: IDCDescriptiveProperties(i.change.user).title), column.GetterColumn(title=_(u"message"), getter=lambda i, f: i.change.description), ] self.selection_column = self.columns[0]
def __init__(self, context, request, view, manager): self.context = context self.request = request self.__parent__ = view self.manager = manager self.wf_status = "new" self.has_status = False # table to display the workflow history formatter = date.getLocaleFormatter(self.request, "dateTime", "short") # !+ note this breaks the previous sort-dates-as-strings-hack of # formatting dates as date.strftime("%Y-%m-%d %H:%M") -- when sorted # as a string -- gives correct results (for all locales). self.columns = [ column.GetterColumn(title=_(u"date"), getter=lambda i,f:formatter.format(i.date_active)), column.GetterColumn(title=_(u"user"), getter=lambda i,f:IDCDescriptiveProperties(i.user).title), column.GetterColumn(title=_(u"description"), getter=lambda i,f:_label(i)), ]
def __init__(self, context, request): super(ChangeBaseView, self).__init__(context, request) # table to display the versions history formatter = date.getLocaleFormatter(self.request, "dateTime", "short") # !+ note this breaks the previous sort-dates-as-strings-hack of # formatting dates, for all locales, as date.strftime("%Y-%m-%d %H:%M") # that, when sorted as a string, gives correct results. self.columns = [ column.GetterColumn(title=_(u"action"), getter=lambda i,f:i.action), column.GetterColumn(title=_(u"date"), getter=lambda i,f:formatter.format(i.date_active)), column.GetterColumn(title=_(u"user"), getter=lambda i,f:IDCDescriptiveProperties(i.user).title), column.GetterColumn(title=_(u"description"), getter=lambda i,f:i.description), column.GetterColumn(title=_(u"audit date"), getter=lambda i,f:formatter.format(i.date_audit)), ]
def _handle_edit_action(self, action, data): def applyData(context, form_fields, data, adapters=None): if adapters is None: adapters = {} descriptions = {} for form_field in form_fields: field = form_field.field # Adapt context, if necessary interface = form_field.interface adapter = adapters.get(interface) if adapter is None: if interface is None: adapter = context else: adapter = interface(context) adapters[interface] = adapter name = form_field.__name__ newvalue = data.get(name, form_field) # using form_field as marker if (newvalue is not form_field) and (field.get(adapter) != newvalue): descriptions.setdefault(interface, []).append(field.__name__) field.set(adapter, newvalue) return descriptions descriptions = applyData(self.context, self.form_fields, data, self.adapters) if descriptions: descriptions = [ Attributes(iface, *tuple(keys)) for iface, keys in descriptions.items() ] notify(ObjectModifiedEvent(self.context, *descriptions)) formatter = date.getLocaleFormatter(self.request, "dateTime", "medium") import pytz, datetime try: time_zone = interface.common.idatetime.ITZInfo(self.request) except TypeError: time_zone = pytz.UTC status = _( "Updated on ${date_time}", mapping={"date_time": formatter.format(datetime.datetime.now(time_zone))}) self.status = status else: self.status = _("No changes")
def _setData(self): """return the data of the query """ #offset = datetime.timedelta(prefs.getNoOfDaysBeforeQuestionSchedule()) date_formatter = date.getLocaleFormatter(self.request, "date", "long") def _q_data_item(q): item = {} item["qid"]= "q_%s" % q.question_id if q.question_number: item["subject"] = u"Q %s %s" % (q.question_number, q.short_name) else: item["subject"] = q.short_name item["title"] = q.short_name item["result_item_class"] = "workflow-state-%s" % q.status item["url"] = url.set_url_context("questions/obj-%s" % q.question_id) item["status"] = misc.get_wf_state(q) item["status_date"] = date_formatter.format(q.status_date) item["owner"] = "%s %s" %(q.owner.first_name, q.owner.last_name) item["type"] = _(q.type) item["to"] = q.ministry.short_name return item self._data = [ _q_data_item(question) for question in self.query.all() ]
def columns(self): date_formatter = date.getLocaleFormatter(common.get_request(), "dateTime", "medium") listing_columns = [ column.GetterColumn( title=_("Take start time"), getter=lambda i,f: date_formatter.format(i.start_date) ), column.GetterColumn( title=_("Take end time"), getter=lambda i,f: date_formatter.format(i.end_date) ), column.GetterColumn( title=_("Take name"), getter=lambda i,f: i.debate_take_name ), column.GetterColumn( title=_("Take transcriber"), getter=lambda i,f: IDCDescriptiveProperties(i.user).title ), ] return listing_columns
def update(self): super(ItemsScheduledViewlet, self).update() formatter = date.getLocaleFormatter(self.request, "dateTime", "medium") for d in self._data: d["sittings_start"] = [] d["sittings_status"] = [] items_schedule = getActiveItemSchedule(d["id"]) for item_schedule in items_schedule: s = item_schedule.sitting d["sittings_start"].append(formatter.format(s.start_date)) d["sittings_status"].append(s.status) # past, present, future d["css_class"] = None if items_schedule: today = datetime.datetime.today().date() # take "last" sitting date startday = items_schedule[0].sitting.start_date.date() if today==startday: d["css_class"] = "present" elif today>startday: d["css_class"] = "past" else: d["css_class"] = "future"
def update(self): super(ItemsScheduledViewlet, self).update() formatter = date.getLocaleFormatter(self.request, "dateTime", "medium") for d in self._data: d["sittings_start"] = [] d["sittings_status"] = [] items_schedule = getActiveItemSchedule(d["id"]) for item_schedule in items_schedule: s = item_schedule.sitting d["sittings_start"].append(formatter.format(s.start_date)) d["sittings_status"].append(s.status) # past, present, future d["css_class"] = None if items_schedule: today = datetime.datetime.today().date() # take "last" sitting date startday = items_schedule[0].sitting.start_date.date() if today == startday: d["css_class"] = "present" elif today > startday: d["css_class"] = "past" else: d["css_class"] = "future"
def format_date(self, date_, category="date", length="medium"): formatter = date.getLocaleFormatter(self.request, category, length) return formatter.format(date_)
def __init__(self, context, request): self.head = removeSecurityProxy(context) self.request = request self.date_formatter = date.getLocaleFormatter(self.request, "dateTime", "short")
def status_date(self): value = self.context.status_date request = get_request() date_formatter = date.getLocaleFormatter(request, "dateTime", "medium") return date_formatter.format(value)
def get_formatter(): return date.getLocaleFormatter(common.get_request(), "date")
def get_date_formatter(self, category="date", length="long"): return date.getLocaleFormatter(self.request, category, length)
def format_date(self, date_time, category="dateTime"): formatter = date.getLocaleFormatter(self.request, category=category) return formatter.format(date_time)
def formatDate(self, date_, category="date", length="medium"): return date.getLocaleFormatter(None, category, length).format(date_)
def __init__(self): self.date_formatter = date.getLocaleFormatter(self.request, "dateTime", "short") self._data_items = None # cache