def fillresponse(self, model='', objid=0): img = XferCompImage('img') img.set_value(self.icon_path()) img.set_location(0, 0, 1, 6) self.add_component(img) self.model = apps.get_model(model) if objid != 0: self.item = self.model.objects.get(id=objid) fieldnames = [] for fieldname in self.model.get_default_fields(): if isinstance(fieldname, tuple): fieldnames.append(fieldname[1]) else: fieldnames.append(fieldname) self.fill_from_model(1, 0, True, desc_fields=fieldnames) log_items = LucteriosLogEntry.objects.get_for_object(self.item) else: content_type = ContentType.objects.get_for_model(self.model) lbl = XferCompLabelForm('ModelName') lbl.set_value_as_header(six.text_type(content_type)) lbl.description = _("content type") lbl.set_location(1, 0, 2) self.add_component(lbl) log_items = LucteriosLogEntry.objects.get_for_model(self.model) grid = XferCompGrid(self.field_id) grid.set_model(log_items, None, self) grid.set_location(1, self.get_max_row() + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fillresponse(self): self.fields_desc.initial(self.item) self.read_criteria_from_params() self.fillresponse_add_title() self.fillresponse_search_select() self.fillresponse_search_values() self.fillresponse_show_criteria() row = self.get_max_row() if isinstance(self.filter, Q) and (len(self.filter.children) > 0): self.items = self.model.objects.filter( self.filter) else: self.items = self.model.objects.all() grid = XferCompGrid(self.field_id) grid.set_model(self.items, self.fieldnames, self) grid.add_actions(self, action_list=self.action_grid) grid.set_location(0, row + 4, 4) grid.set_size(200, 500) self.add_component(grid) lbl = XferCompLabelForm("nb") lbl.set_location(0, row + 5, 4) lbl.set_value(_("Total number of %(name)s: %(count)d") % { 'name': self.model._meta.verbose_name_plural, 'count': grid.nb_lines}) self.add_component(lbl) for act_type, title, icon in self.action_list: self.add_action(ActionsManage.get_act_changed( self.model.__name__, act_type, title, icon), {'close': CLOSE_NO}) self.add_action(WrapAction(_('Close'), 'images/close.png'), {})
def add_legalentities(self, legal_entities): self.new_tab(_("Legal entities")) grid = XferCompGrid('legal_entity') grid.set_model(legal_entities, LegalEntity.get_default_fields()) grid.add_action(self.request, CurrentLegalEntityShow.get_action( _("Edit"), "images/show.png"), modal=FORMTYPE_MODAL, close=CLOSE_NO, unique=SELECT_SINGLE) grid.set_location(1, 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fill_grid(self, row, model, field_id, items): grid = XferCompGrid(field_id) if self.multi_page: xfer = self else: xfer = None grid.set_model(items, self.fieldnames, xfer) grid.add_action_notified(self, model=model) grid.set_location(0, row + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def show_contact_degree(contact, xfer): if WrapAction.is_permission(xfer.request, 'event.change_degree'): up_contact = contact.get_final_child() if isinstance(up_contact, Adherent): degrees = Degree.objects.filter(adherent=up_contact) xfer.new_tab(_("Degree")) grid = XferCompGrid('degrees') grid.set_model(degrees, None, xfer) grid.add_action_notified(xfer, Degree) grid.set_location(0, xfer.get_max_row() + 1, 2) grid.set_size(200, 500) xfer.add_component(grid)
def show_contact_degree(contact, xfer): if WrapAction.is_permission(xfer.request, 'event.change_degree') and (Params.getvalue("event-degree-enable") == 1): up_contact = contact.get_final_child() if isinstance(up_contact, Adherent): degrees = Degree.objects.filter(adherent=up_contact) xfer.new_tab(_("Degree")) grid = XferCompGrid('degrees') grid.set_model(degrees, None, xfer) grid.add_action_notified(xfer, Degree) grid.set_location(0, xfer.get_max_row() + 1, 2) grid.set_size(200, 500) xfer.add_component(grid)
def fill_grid(self, row, model, field_id, items): grid = XferCompGrid(field_id) if self.size_by_page is not None: grid.size_by_page = self.size_by_page if self.multi_page: xfer = self else: xfer = None grid.set_model(items, self.fieldnames, xfer) grid.add_action_notified(self, model=model) grid.set_location(0, row + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fill_tasks(self): self.new_tab(_('Tasks')) grid = XferCompGrid('tasks') grid.no_pager = True grid.add_header('name', _('name')) grid.add_header('trigger', _('trigger')) grid.add_header('nextdate', _('next date'), 'datetime') for job_desc in LucteriosScheduler.get_list(): grid.set_value(job_desc[0], 'name', job_desc[1]) grid.set_value(job_desc[0], 'trigger', '%s' % job_desc[2]) grid.set_value(job_desc[0], 'nextdate', job_desc[3]) grid.set_location(0, self.get_max_row() + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fill_customers(self): costumer_result = self.item.get_statistics_customer() grid = XferCompGrid("customers") grid.add_header("customer", _("customer")) grid.add_header("amount", _("amount")) grid.add_header("ratio", _("ratio (%)")) index = 0 for cust_val in costumer_result: grid.set_value(index, "customer", cust_val[0]) grid.set_value(index, "amount", cust_val[1]) grid.set_value(index, "ratio", cust_val[2]) index += 1 grid.set_location(0, 1, 3) grid.set_size(400, 800) self.add_component(grid)
def fillresponse(self): XferListEditor.fillresponse(self) self.new_tab(_('Tasks')) grid = XferCompGrid('tasks') grid.no_pager = True grid.add_header('name', _('name')) grid.add_header('trigger', _('trigger')) grid.add_header('nextdate', _('next date'), 'datetime') for job_desc in LucteriosScheduler.get_list(): grid.set_value(job_desc[0], 'name', job_desc[1]) grid.set_value(job_desc[0], 'trigger', '%s' % job_desc[2]) grid.set_value(job_desc[0], 'nextdate', job_desc[3]) grid.set_location(0, self.get_max_row() + 1, 2) grid.set_size(200, 500) self.add_component(grid)
def fill_grid(self, row, model, field_id, items): grid = XferCompGrid(field_id) if self.multi_page: xfer = self else: xfer = None grid.set_model(items, self.fieldnames, xfer) grid.add_actions(self, action_list=self.action_grid, model=model) grid.set_location(0, row + 1, 2) grid.set_size(200, 500) self.add_component(grid) lbl = XferCompLabelForm("nb_" + field_id) lbl.set_location(0, row + 2, 2) lbl.set_value(_("Total number of %(name)s: %(count)d") % { 'name': model._meta.verbose_name_plural, 'count': grid.nb_lines}) self.add_component(lbl)
def summary_condo(xfer): is_right = WrapAction.is_permission(xfer.request, 'condominium.change_set') owners = get_owners(xfer.request) if is_right or (len(owners) == 1): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('condotitle') lab.set_value_as_infocenter(_('Condominium')) lab.set_location(0, row, 4) xfer.add_component(lab) if len(owners) == 1: lab = XferCompLabelForm('condoowner') lab.set_value(_('You are a owner')) lab.set_location(0, row + 1, 2) xfer.add_component(lab) grid = XferCompGrid("part") grid.set_model(owners[0].partition_set.filter(set__is_active=True), ["set", "value", (_("ratio"), 'ratio')]) grid.set_location(0, row + 2, 4) grid.set_size(200, 500) xfer.add_component(grid) if is_right: row = xfer.get_max_row() + 1 nb_set = len(Set.objects.filter(is_active=True)) nb_owner = len(Owner.objects.all()) lab = XferCompLabelForm('condoinfo') lab.set_value_as_header(_("There are %(set)d classes of loads for %(owner)d owners") % {'set': nb_set, 'owner': nb_owner}) lab.set_location(0, row + 1, 4) xfer.add_component(lab) if Params.getvalue("condominium-old-accounting"): lab = XferCompLabelForm('condoconvinfo') lab.set_value_as_header(_("Your condominium account is not in respect of French law{[newline]}An conversion is necessary.")) lab.set_color('red') lab.set_location(0, row + 2, 4) xfer.add_component(lab) btn = XferCompButton('condoconv') btn.set_location(0, row + 3, 4) btn.set_action(xfer.request, CondominiumConvert.get_action(_('Convertion ...'), ""), close=CLOSE_NO) xfer.add_component(btn) if is_right or (len(owners) == 1): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('condosep') lab.set_value_as_infocenter("{[hr/]}") lab.set_location(0, row, 4) xfer.add_component(lab) return True else: return False
def fillresponse(self): self.fields_desc.initial(self.item) self.read_criteria_from_params() self.fillresponse_add_title() self.fillresponse_search_select() self.fillresponse_search_values() self.fillresponse_show_criteria() row = self.get_max_row() self.filter_items() grid = XferCompGrid(self.field_id) grid.set_model(self.items, self.fieldnames, self) grid.add_action_notified(self) grid.set_location(0, row + 4, 6) grid.set_size(200, 500) self.add_component(grid) for act, opt in ActionsManage.get_actions( ActionsManage.ACTION_IDENT_LIST, self, key=action_list_sorted): self.add_action(act, **opt) self.add_action(WrapAction(_('Close'), 'images/close.png'))
def fill_articles(self): articles_result = self.item.get_statistics_article() grid = XferCompGrid("articles") grid.add_header("article", _("article")) grid.add_header("amount", _("amount")) grid.add_header("number", _("number")) grid.add_header("mean", _("mean")) grid.add_header("ratio", _("ratio (%)")) index = 0 for art_val in articles_result: grid.set_value(index, "article", art_val[0]) grid.set_value(index, "amount", art_val[1]) grid.set_value(index, "number", art_val[2]) grid.set_value(index, "mean", art_val[3]) grid.set_value(index, "ratio", art_val[4]) index += 1 grid.set_location(0, 1, 3) grid.set_size(400, 800) self.add_component(grid)