Exemple #1
0
 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,
         }
     )
Exemple #2
0
 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)
Exemple #4
0
 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()]
Exemple #9
0
 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))
Exemple #10
0
    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()]
Exemple #11
0
 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")
Exemple #12
0
 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 ""
Exemple #13
0
 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]
Exemple #14
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() ]
Exemple #16
0
 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 ""
Exemple #17
0
 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
Exemple #18
0
 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)
Exemple #19
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 = 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
Exemple #21
0
 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
Exemple #22
0
    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)),
        ]
Exemple #23
0
 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)),
     ]
Exemple #24
0
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")
Exemple #25
0
 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
Exemple #27
0
    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
Exemple #28
0
 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)
Exemple #29
0
 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]
Exemple #31
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)),
     ]
Exemple #32
0
 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 __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)),
     ]
Exemple #34
0
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"
Exemple #38
0
 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"
Exemple #39
0
 def format_date(self, date_, category="date", length="medium"):
     formatter = date.getLocaleFormatter(self.request, category, length)
     return formatter.format(date_)
Exemple #40
0
 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 status_date(self):
     value = self.context.status_date
     request = get_request()
     date_formatter = date.getLocaleFormatter(request, "dateTime", "medium")
     return date_formatter.format(value)
Exemple #43
0
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)
Exemple #45
0
 def format_date(self, date_time, category="dateTime"):
     formatter = date.getLocaleFormatter(self.request, category=category)
     return formatter.format(date_time)
Exemple #46
0
 def formatDate(self, date_, category="date", length="medium"):
     return date.getLocaleFormatter(None, category, length).format(date_)
Exemple #47
0
 def get_date_formatter(self, category="date", length="long"):
     return date.getLocaleFormatter(self.request, category, length)
Exemple #48
0
 def __init__(self):
     self.date_formatter = date.getLocaleFormatter(self.request, "dateTime",
                                                   "short")
     self._data_items = None  # cache
Exemple #49
0
def get_formatter():
    return date.getLocaleFormatter(common.get_request(), "date")
Exemple #50
0
 def __init__(self):
     self.date_formatter = date.getLocaleFormatter(self.request, 
         "dateTime", "short")
     self._data_items = None # cache
 def format_date(self, date_time, category="dateTime"):
     formatter = date.getLocaleFormatter(self.request, category=category)
     return formatter.format(date_time)
Exemple #52
0
 def formatDate(self, date_, category="date", length="medium"):
     return date.getLocaleFormatter(None, category, length).format(date_)
Exemple #53
0
 def format_date(self, date_, category="date", length="medium"):
     formatter = date.getLocaleFormatter(self.request, category, length)
     return formatter.format(date_)