def summary_documents(xfer): if not hasattr(xfer, 'add_component'): return WrapAction.is_permission(xfer, 'documents.change_document') elif WrapAction.is_permission(xfer.request, 'documents.change_document'): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('documenttitle') lab.set_value_as_infocenter(_('Document management')) lab.set_location(0, row, 4) xfer.add_component(lab) filter_result = Q() if notfree_mode_connect(): filter_result = filter_result & (Q(parent=None) | Q( parent__viewer__in=xfer.request.user.groups.all( ) if xfer.request.user.id is not None else [])) nb_doc = len(DocumentContainer.objects.filter(*[filter_result])) lbl_doc = XferCompLabelForm('lbl_nbdocument') lbl_doc.set_location(0, row + 1, 4) if nb_doc == 0: lbl_doc.set_value_center(_("no file currently available")) elif nb_doc == 1: lbl_doc.set_value_center(_("one file currently available")) else: lbl_doc.set_value_center( _("%d files currently available") % nb_doc) xfer.add_component(lbl_doc) lab = XferCompLabelForm('documentend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 2, 4) xfer.add_component(lab) return True else: return False
def summary_contacts(xfer): if not hasattr(xfer, 'add_component'): return WrapAction.is_permission(xfer, 'contacts.change_abstractcontact') else: if WrapAction.is_permission(xfer.request, 'contacts.change_abstractcontact'): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('contactstitle') lab.set_value_as_infocenter(_("Addresses and contacts")) lab.set_location(0, row, 4) xfer.add_component(lab) nb_legal_entities = len(LegalEntity.objects.all()) lbl_doc = XferCompLabelForm('lbl_nblegalentities') lbl_doc.set_location(0, row + 1, 4) lbl_doc.set_value_center(_("Total number of legal entities: %d") % nb_legal_entities) xfer.add_component(lbl_doc) nb_individual = len(Individual.objects.all()) lbl_doc = XferCompLabelForm('lbl_nbindividuals') lbl_doc.set_location(0, row + 2, 4) lbl_doc.set_value_center(_("Total number of individuals: %d") % nb_individual) xfer.add_component(lbl_doc) lab = XferCompLabelForm('contactsend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 3, 4) xfer.add_component(lab) return True else: return False
def summary_documents(xfer): if not hasattr(xfer, 'add_component'): return WrapAction.is_permission(xfer, 'documents.change_document') elif WrapAction.is_permission(xfer.request, 'documents.change_document'): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('documenttitle') lab.set_value_as_infocenter(_('Document management')) lab.set_location(0, row, 4) xfer.add_component(lab) filter_result = Q() if notfree_mode_connect(): filter_result = filter_result & (Q(folder=None) | Q(folder__viewer__in=xfer.request.user.groups.all() if xfer.request.user.id is not None else [])) nb_doc = len(Document.objects.filter(*[filter_result])) lbl_doc = XferCompLabelForm('lbl_nbdocument') lbl_doc.set_location(0, row + 1, 4) if nb_doc == 0: lbl_doc.set_value_center(_("no file currently available")) elif nb_doc == 1: lbl_doc.set_value_center(_("one file currently available")) else: lbl_doc.set_value_center(_("%d files currently available") % nb_doc) xfer.add_component(lbl_doc) lab = XferCompLabelForm('documentend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 2, 4) xfer.add_component(lab) return True else: return False
def summary_contacts(xfer): if not hasattr(xfer, 'add_component'): return WrapAction.is_permission(xfer, 'contacts.change_abstractcontact') else: if WrapAction.is_permission(xfer.request, 'contacts.change_abstractcontact'): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('contactstitle') lab.set_value_as_infocenter(_("Addresses and contacts")) lab.set_location(0, row, 4) xfer.add_component(lab) nb_legal_entities = len(LegalEntity.objects.all()) lbl_doc = XferCompLabelForm('lbl_nblegalentities') lbl_doc.set_location(0, row + 1, 4) lbl_doc.set_value_center(_("Total number of legal entities: %d") % nb_legal_entities) xfer.add_component(lbl_doc) nb_individual = len(Individual.objects.all()) lbl_doc = XferCompLabelForm('lbl_nbindividuals') lbl_doc.set_location(0, row + 2, 4) lbl_doc.set_value_center(_("Total number of individuals: %d") % nb_individual) xfer.add_component(lbl_doc) lab = XferCompLabelForm('contactsend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 3, 4) xfer.add_component(lab) return True else: return False
def summary_condo(xfer): if not hasattr(xfer, 'add_component'): return WrapAction.is_permission(xfer, 'condominium.change_set') else: if WrapAction.is_permission(xfer.request, 'condominium.change_set'): 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) 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 hasattr(settings, "DIACAMMA_MAXOWNER"): lbl = XferCompLabelForm("limit_owner") lbl.set_value( _('limitation: %d owners allowed') % getattr(settings, "DIACAMMA_MAXOWNER")) lbl.set_italic() lbl.set_location(0, row + 4, 4) xfer.add_component(lbl) 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 thirdaddon_accounting(item, xfer): if WrapAction.is_permission(xfer.request, 'accounting.change_entryaccount'): try: entry_lines_filter = Q(entrylineaccount__third=item) lines_filter = xfer.getparam('lines_filter', 0) if lines_filter == 0: entry_lines_filter &= Q(year=FiscalYear.get_current()) elif lines_filter == 1: entry_lines_filter &= Q(year=FiscalYear.get_current()) & Q(close=False) xfer.new_tab(_('entry of account')) lbl = XferCompLabelForm('lbl_lines_filter') lbl.set_value_as_name(_('Accounts filter')) lbl.set_location(0, 1) xfer.add_component(lbl) edt = XferCompSelect("lines_filter") edt.set_select([(0, _('All entries of current fiscal year')), (1, _( 'Only no-closed entries of current fiscal year')), (2, _('All entries for all fiscal year'))]) edt.set_value(lines_filter) edt.set_location(1, 1) edt.set_action(xfer.request, xfer.get_action(), modal=FORMTYPE_REFRESH, close=CLOSE_NO) xfer.add_component(edt) entries = EntryAccount.objects.filter(entry_lines_filter) link_grid_lines = XferCompGrid('entryaccount') link_grid_lines.set_model(entries, EntryAccount.get_default_fields(), xfer) link_grid_lines.set_location(0, 2, 2) link_grid_lines.add_action(xfer.request, ActionsManage.get_action_url('accounting.EntryAccount', 'OpenFromLine', xfer), modal=FORMTYPE_MODAL, unique=SELECT_SINGLE, close=CLOSE_NO) link_grid_lines.add_action(xfer.request, ActionsManage.get_action_url('accounting.EntryAccount', 'Close', xfer), modal=FORMTYPE_MODAL, unique=SELECT_MULTI, close=CLOSE_NO) link_grid_lines.add_action(xfer.request, ActionsManage.get_action_url('accounting.EntryAccount', 'Link', xfer), modal=FORMTYPE_MODAL, unique=SELECT_MULTI, close=CLOSE_NO) xfer.add_component(link_grid_lines) except LucteriosException: pass
def show(self, xfer): LucteriosEditor.show(self, xfer) obj_addr = xfer.get_components('address') xfer.tab = obj_addr.tab new_col = obj_addr.col xfer.move(obj_addr.tab, 1, 0) img_path = get_user_path( "contacts", "Image_%s.jpg" % self.item.abstractcontact_ptr_id) img = XferCompImage('logoimg') if exists(img_path): img.type = 'jpg' img.set_value(readimage_to_base64(img_path)) else: img.set_value( get_icon_path("lucterios.contacts/images/NoImage.png")) img.set_location(new_col, obj_addr.row, 1, 6) xfer.add_component(img) if WrapAction.is_permission(xfer.request, 'contacts.add_abstractcontact'): if (len(self.item.__class__.get_select_contact_type(False)) > 0): btn = XferCompButton('btn_promote') btn.set_location(new_col + 1, xfer.get_max_row() + 1, 4) btn.set_action(xfer.request, ObjectPromote.get_action( _('Promote'), "images/config.png"), modal=FORMTYPE_MODAL, close=CLOSE_YES, params={ 'modelname': xfer.model.get_long_name(), 'field_id': xfer.field_id }) xfer.add_component(btn) signal_and_lock.Signal.call_signal("show_contact", self.item, xfer)
def show_third(self, xfer, right=""): xfer.params["supporting"] = self.item.id third = xfer.get_components("third") third.colspan -= 2 if WrapAction.is_permission(xfer.request, right): btn = XferCompButton("change_third") btn.set_location(third.col + third.colspan, third.row) btn.set_action( xfer.request, ActionsManage.get_action_url("payoff.Supporting", "Third", xfer), modal=FORMTYPE_MODAL, close=CLOSE_NO, params={"code_mask": self.item.get_third_mask()}, ) xfer.add_component(btn) if self.item.third is not None: btn = XferCompButton("show_third") btn.set_is_mini(True) btn.set_location(third.col + third.colspan + 1, third.row) btn.set_action( xfer.request, ActionsManage.get_action_url("accounting.Third", "Show", xfer), modal=FORMTYPE_MODAL, close=CLOSE_NO, params={"third": self.item.third.id}, ) xfer.add_component(btn) lbl = XferCompLabelForm("info") lbl.set_color("red") lbl.set_location(1, xfer.get_max_row() + 1, 4) lbl.set_value(self.item.get_info_state()) xfer.add_component(lbl)
def summary_accounting(xfer): if WrapAction.is_permission(xfer.request, 'accounting.change_chartsaccount'): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('accountingtitle') lab.set_value_as_infocenter(_("Bookkeeping")) lab.set_location(0, row, 4) xfer.add_component(lab) try: year = FiscalYear.get_current() lbl = XferCompLabelForm("accounting_year") lbl.set_value_center(six.text_type(year)) lbl.set_location(0, row + 1, 4) xfer.add_component(lbl) lbl = XferCompLabelForm("accounting_result") lbl.set_value_center(year.total_result_text) lbl.set_location(0, row + 2, 4) xfer.add_component(lbl) except LucteriosException as lerr: lbl = XferCompLabelForm("accounting_error") lbl.set_value_center(six.text_type(lerr)) lbl.set_location(0, row + 1, 4) xfer.add_component(lbl) btn = XferCompButton("accounting_conf") btn.set_action(xfer.request, Configuration.get_action(_("conf."), ""), close=CLOSE_NO) btn.set_location(0, row + 2, 4) xfer.add_component(btn) lab = XferCompLabelForm('accountingend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 3, 4) xfer.add_component(lab) return True else: return False
def fillresponse(self, modelname, field_id): if modelname is not None: self.model = apps.get_model(modelname) self.field_id = field_id XferListEditor.fillresponse(self) if WrapAction.is_permission(self.request, 'contacts.add_abstractcontact'): self.get_components(self.field_id).add_action(self.request, ObjectMerge.get_action(_("Merge"), "images/clone.png"), close=CLOSE_NO, unique=SELECT_MULTI)
def fillresponse(self): XferSearchEditor.fillresponse(self) self.item.editor.add_email_selector(self, 0, self.get_max_row() + 1, 5) if WrapAction.is_permission(self.request, 'contacts.add_abstractcontact'): self.get_components(self.field_id).add_action(self.request, ObjectMerge.get_action(_("Merge"), "images/clone.png"), close=CLOSE_NO, unique=SELECT_MULTI, params={'modelname': self.model.get_long_name(), 'field_id': self.field_id}) self.add_action(AbstractContactFindDouble.get_action(_("duplicate"), "images/clone.png"), params={'modelname': self.model.get_long_name(), 'field_id': self.field_id}, pos_act=0)
def fillresponse(self): XferSearchEditor.fillresponse(self) self.item.editor.add_email_selector(self, 0, self.get_max_row() + 1, 5) if WrapAction.is_permission(self.request, 'contacts.add_abstractcontact'): self.get_components(self.field_id).add_action(self.request, ObjectMerge.get_action(_("Merge"), "images/clone.png"), close=CLOSE_NO, unique=SELECT_MULTI, params={'modelname': self.model.get_long_name(), 'field_id': self.field_id}) self.add_action(AbstractContactFindDouble.get_action(_("duplicate"), "images/clone.png"), params={'modelname': self.model.get_long_name(), 'field_id': self.field_id}, pos_act=0)
def fillresponse(self, modelname, field_id): if modelname is not None: self.model = apps.get_model(modelname) self.field_id = field_id XferListEditor.fillresponse(self) if WrapAction.is_permission(self.request, 'contacts.add_abstractcontact'): self.get_components(self.field_id).add_action(self.request, ObjectMerge.get_action(_("Merge"), "images/clone.png"), close=CLOSE_NO, unique=SELECT_MULTI)
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 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_invoice(contact, xfer): if WrapAction.is_permission(xfer.request, 'invoice.change_bill'): third = Third.objects.filter(contact_id=contact.id) if len(third) == 1: third = third[0] xfer.new_tab(_("Financial")) nb_build = len(Bill.objects.filter(third=third, status=0)) nb_valid = len(Bill.objects.filter(third=third, status=1)) lab = XferCompLabelForm('invoiceinfo') lab.set_value_as_header(_("There are %(build)d bills in building and %(valid)d validated") % {'build': nb_build, 'valid': nb_valid}) lab.set_location(0, 5, 2) xfer.add_component(lab)
def thirdaddon_invoice(item, xfer): if WrapAction.is_permission(xfer.request, 'invoice.change_bill'): try: FiscalYear.get_current() xfer.new_tab(_('Invoice')) current_filter, status_filter = _add_bill_filter(xfer, 1) current_filter &= Q(third=item) bills = Bill.objects.filter(current_filter) bill_grid = XferCompGrid('bill') bill_grid.set_model(bills, Bill.get_default_fields(status_filter), xfer) bill_grid.set_location(0, 2, 2) bill_grid.add_action(xfer.request, ActionsManage.get_action_url('invoice.Bill', 'Show', xfer), modal=FORMTYPE_MODAL, unique=SELECT_SINGLE, close=CLOSE_NO) xfer.add_component(bill_grid) except LucteriosException: pass
def fillresponse_body(self): if Params.getvalue("member-age-enable") == 1: self.new_tab(_('Age')) self.fill_grid(0, Age, "age", Age.objects.all()) if Params.getvalue("member-team-enable") == 1: show_only_enabled_team = self.getparam('show_only_enabled_team', True) self.new_tab(Params.getvalue("member-team-text")) if show_only_enabled_team: team_list = Team.objects.filter(unactive=False) else: team_list = Team.objects.all() self.fill_grid(0, Team, "team", team_list) if show_only_enabled_team: grid = self.get_components('team') grid.delete_header('unactive') check = XferCompCheck('show_only_enabled_team') check.set_location(0, 2) check.set_value(show_only_enabled_team) check.description = _('show only enabled team') check.set_action(self.request, self.get_action(), modal=FORMTYPE_REFRESH, close=CLOSE_NO) self.add_component(check) if Params.getvalue("member-activite-enable") == 1: self.new_tab(Params.getvalue("member-activite-text")) self.fill_grid(0, Activity, "activity", Activity.objects.all()) grid = self.get_components("activity") if WrapAction.is_permission(self.request, 'CORE.add_parameter'): grid.add_action(self.request, ObjectMerge.get_action(_("Merge"), "images/clone.png"), close=CLOSE_NO, unique=SELECT_MULTI, params={ 'modelname': 'member.Activity', 'field_id': 'activity' }) if hasattr(settings, "DIACAMMA_MAXACTIVITY") and (getattr( settings, "DIACAMMA_MAXACTIVITY") <= grid.nb_lines): lbl = XferCompLabelForm("limit_activity") lbl.set_color('red') lbl.set_value_as_headername( _('You have the maximum of activities!')) lbl.set_location(grid.col, self.get_max_row() + 1) self.add_component(lbl) grid.delete_action("diacamma.member/activityAddModify", True)
def thirdaddon_condo(item, xfer): if WrapAction.is_permission(xfer.request, 'condominium.change_set'): try: owner = Owner.objects.get(third=item) xfer.new_tab(_('Condominium')) old_item = xfer.item xfer.item = owner xfer.filltab_from_model(0, 1, True, Owner.get_show_fields_in_third()) xfer.item = old_item btn = XferCompButton('condobtn') btn.set_location(0, 5, 2) btn.set_action(xfer.request, OwnerShow.get_action(TITLE_EDIT, 'images/edit.png'), close=CLOSE_NO, modal=FORMTYPE_MODAL, params={'owner': owner.id}) xfer.add_component(btn) except ObjectDoesNotExist: pass
def thirdaddon_condo(item, xfer): if WrapAction.is_permission(xfer.request, 'condominium.change_set'): try: owner = Owner.objects.get(third=item) xfer.new_tab(_('Condominium')) old_item = xfer.item xfer.item = owner xfer.filltab_from_model(0, 1, True, Owner.get_show_fields_in_third()) xfer.item = old_item btn = XferCompButton('condobtn') btn.set_location(0, 5, 2) btn.set_action(xfer.request, OwnerShow.get_action(TITLE_EDIT, 'images/edit.png'), close=CLOSE_NO, modal=FORMTYPE_MODAL, params={'owner': owner.id}) xfer.add_component(btn) except ObjectDoesNotExist: pass
def fillresponse(self): parent = None if len(self.items) > 0: parent = self.items[0].parent if not WrapAction.is_permission(self.request, 'documents.delete_folder'): for item in self.items: if isinstance(item.get_final_child(), FolderContainer): raise LucteriosException(IMPORTANT, _("No allow to delete folder!")) if parent is not None and notfree_mode_connect( ) and not self.request.user.is_superuser: if parent.cannot_view(self.request.user): raise LucteriosException(IMPORTANT, _("No allow to view!")) if parent.is_readonly(self.request.user): raise LucteriosException(IMPORTANT, _("No allow to write!")) XferDelete.fillresponse(self)
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 thirdaddon_expense(item, xfer): if WrapAction.is_permission(xfer.request, 'condominium.change_expense'): try: status_filter = xfer.getparam('status_filter', Expense.STATUS_BUILDING) date_filter = xfer.getparam('date_filter', 0) current_year = FiscalYear.get_current() item.get_account(current_year, current_system_account().get_provider_mask()) xfer.new_tab(_('Expenses')) edt = XferCompSelect("status_filter") edt.set_select(list(Expense.get_field_by_name('status').choices)) edt.set_value(status_filter) edt.description = _('Filter by type') edt.set_location(0, 1) edt.set_action(xfer.request, xfer.return_action(), modal=FORMTYPE_REFRESH, close=CLOSE_NO) xfer.add_component(edt) edt = XferCompSelect("date_filter") edt.set_select([(0, _('only current fiscal year')), (1, _('all expenses'))]) edt.set_value(date_filter) edt.set_location(0, 2) edt.description = _('Filter by date') edt.set_action(xfer.request, xfer.return_action(), modal=FORMTYPE_REFRESH, close=CLOSE_NO) xfer.add_component(edt) expense_filter = Q(status=status_filter) & Q(third=item) if date_filter == 0: expense_filter &= Q(date__gte=current_year.begin) & Q( date__lte=current_year.end) expenses = Expense.objects.filter(expense_filter).distinct() expense_grid = XferCompGrid('expense') expense_grid.set_model(expenses, Expense.get_default_fields(status_filter), xfer) expense_grid.add_action_notified(xfer, Expense) expense_grid.set_location(0, 3, 2) xfer.add_component(expense_grid) except LucteriosException: pass
def summary_contacts(xfer): is_right = WrapAction.is_permission(xfer.request, 'contacts.change_abstractcontact') current_individual = None if not xfer.request.user.is_anonymous(): try: current_individual = Individual.objects.get(user=xfer.request.user) row = xfer.get_max_row() + 1 lab = XferCompLabelForm('contactsidentity') lab.set_value_as_header(six.text_type(current_individual)) lab.set_location(0, row, 4) xfer.add_component(lab) except: current_individual = None if is_right: row = xfer.get_max_row() + 1 lab = XferCompLabelForm('contactstitle') lab.set_value_as_infocenter(_("Addresses and contacts")) lab.set_location(0, row, 4) xfer.add_component(lab) nb_legal_entities = len(LegalEntity.objects.all()) lbl_doc = XferCompLabelForm('lbl_nblegalentities') lbl_doc.set_location(0, row + 1, 4) lbl_doc.set_value_center( _("Total number of legal entities: %d") % nb_legal_entities) xfer.add_component(lbl_doc) nb_individual = len(Individual.objects.all()) lbl_doc = XferCompLabelForm('lbl_nbindividuals') lbl_doc.set_location(0, row + 2, 4) lbl_doc.set_value_center( _("Total number of individuals: %d") % nb_individual) xfer.add_component(lbl_doc) if is_right or (current_individual is not None): lab = XferCompLabelForm('contactsend') lab.set_value_center('{[hr/]}') lab.set_location(0, row + 3, 4) xfer.add_component(lab) return True else: return False
def show_contact_accounting(contact, xfer): if WrapAction.is_permission(xfer.request, 'accounting.change_entryaccount'): main_third = None thirds = Third.objects.filter(contact_id=contact.id) if len(thirds) > 1: main_third = thirds[0] alias_third = [] for third in thirds: if third.id != main_third.id: alias_third.append(third) main_third.merge_objects(alias_third) elif len(thirds) == 1: main_third = thirds[0] if main_third is not None: xfer.new_tab(_("Financial")) xfer.item = main_third xfer.filltab_from_model(0, 0, True, ["status", ((_('total'), 'total'),)]) btn = XferCompButton('show_third') btn.set_location(0, 50, 2) btn.set_action(xfer.request, ActionsManage.get_action_url('accounting.Third', 'Show', xfer), modal=FORMTYPE_MODAL, close=CLOSE_NO, params={"third": six.text_type(main_third.id)}) xfer.add_component(btn) xfer.item = contact
def show(self, xfer): LucteriosEditor.show(self, xfer) obj_addr = xfer.get_components('address') xfer.tab = obj_addr.tab new_col = obj_addr.col xfer.move(obj_addr.tab, 1, 0) img_path = get_user_path("contacts", "Image_%s.jpg" % self.item.abstractcontact_ptr_id) img = XferCompImage('logoimg') if exists(img_path): img.type = 'jpg' img.set_value(readimage_to_base64(img_path)) else: img.set_value(get_icon_path("lucterios.contacts/images/NoImage.png")) img.set_location(new_col, obj_addr.row, 1, 6) xfer.add_component(img) if WrapAction.is_permission(xfer.request, 'contacts.add_abstractcontact'): if (len(self.item.__class__.get_select_contact_type(False)) > 0): btn = XferCompButton('btn_promote') btn.set_location(new_col + 1, xfer.get_max_row() + 1, 4) btn.set_action(xfer.request, ObjectPromote.get_action(_('Promote'), "images/config.png"), modal=FORMTYPE_MODAL, close=CLOSE_YES, params={'modelname': xfer.model.get_long_name(), 'field_id': xfer.field_id}) xfer.add_component(btn) signal_and_lock.Signal.call_signal("show_contact", self.item, xfer)
def summary_invoice(xfer): is_right = WrapAction.is_permission(xfer.request, 'invoice.change_bill') contacts = [] if not xfer.request.user.is_anonymous(): for contact in Individual.objects.filter(user=xfer.request.user): contacts.append(contact.id) for contact in LegalEntity.objects.filter(responsability__individual__user=xfer.request.user): contacts.append(contact.id) if is_right or (len(contacts) > 0): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('invoicetitle') lab.set_value_as_infocenter(_("Invoice")) lab.set_location(0, row, 4) xfer.add_component(lab) if len(contacts) > 0: nb_build = len(Bill.objects.filter(third__contact_id__in=contacts)) row = xfer.get_max_row() + 1 lab = XferCompLabelForm('invoicecurrent') lab.set_value_as_header(_("You are %d bills") % nb_build) lab.set_location(0, row, 4) xfer.add_component(lab) if is_right: row = xfer.get_max_row() + 1 nb_build = len(Bill.objects.filter(status=0)) nb_valid = len(Bill.objects.filter(status=1)) lab = XferCompLabelForm('invoiceinfo') lab.set_value_as_header(_("There are %(build)d bills in building and %(valid)d validated") % {'build': nb_build, 'valid': nb_valid}) lab.set_location(0, row + 1, 4) xfer.add_component(lab) if is_right or (len(contacts) > 0): lab = XferCompLabelForm('invoicesep') lab.set_value_as_infocenter("{[hr/]}") lab.set_location(0, row + 2, 4) xfer.add_component(lab) return True else: return False
def summary_member(xfer): is_right = WrapAction.is_permission(xfer.request, 'member.change_adherent') try: current_adherent = Adherent.objects.get(user=xfer.request.user) except: current_adherent = None if is_right or (current_adherent is not None): row = xfer.get_max_row() + 1 lab = XferCompLabelForm('membertitle') lab.set_value_as_infocenter(_("Adherents")) lab.set_location(0, row, 4) xfer.add_component(lab) if current_adherent is not None: ident = [] if Params.getvalue("member-numero"): ident.append("%s %s" % (_('numeros'), current_adherent.num)) if Params.getvalue("member-licence-enabled"): current_license = current_adherent.license if current_license is not None: ident.append(current_license) row = xfer.get_max_row() + 1 lab = XferCompLabelForm('membercurrent') lab.set_value_as_header("{[br/]}".join(ident)) lab.set_location(0, row, 4) xfer.add_component(lab) if is_right: row = xfer.get_max_row() + 1 try: current_season = Season.current_season() dateref = current_season.date_ref lab = XferCompLabelForm('memberseason') lab.set_value_as_headername(six.text_type(current_season)) lab.set_location(0, row + 1, 4) xfer.add_component(lab) nb_adh = len(Adherent.objects.filter(Q(subscription__begin_date__lte=dateref) & Q( subscription__end_date__gte=dateref) & Q(subscription__status=2))) lab = XferCompLabelForm('membernb') lab.set_value_as_header(_("Active adherents: %d") % nb_adh) lab.set_location(0, row + 2, 4) xfer.add_component(lab) nb_adhcreat = len(Adherent.objects.filter( Q(subscription__begin_date__lte=dateref) & Q(subscription__end_date__gte=dateref) & Q(subscription__status=1))) if nb_adhcreat > 0: lab = XferCompLabelForm('memberadhcreat') lab.set_value_as_header(_("No validated adherents: %d") % nb_adhcreat) lab.set_location(0, row + 3, 4) xfer.add_component(lab) nb_adhwait = len(Adherent.objects.filter( Q(subscription__begin_date__lte=dateref) & Q(subscription__end_date__gte=dateref) & Q(subscription__status=0))) if nb_adhwait > 0: lab = XferCompLabelForm('memberadhwait') lab.set_value_as_header(_("Adherents waiting moderation: %d") % nb_adhwait) lab.set_location(0, row + 4, 4) xfer.add_component(lab) except LucteriosException as lerr: lbl = XferCompLabelForm("member_error") lbl.set_value_center(six.text_type(lerr)) lbl.set_location(0, row + 1, 4) xfer.add_component(lbl) if is_right or (current_adherent is not None): lab = XferCompLabelForm('member') lab.set_value_as_infocenter("{[hr/]}") lab.set_location(0, row + 5, 4) xfer.add_component(lab) return True else: return False