def excerpt_types(): etype = Instantiator('excerpts.ExcerptType').build # email_template='Default.eml.html').build yield etype( build_method='appypdf', template='Confirmation.odt', backward_compat=True, content_type=ContentType.objects.get_for_model( rt.models.courses.Enrolment), **dd.str2kw('name', _("Confirmation"))) yield etype( build_method='appypdf', template='Certificate.odt', backward_compat=True, content_type=ContentType.objects.get_for_model( rt.models.courses.Enrolment), **dd.str2kw('name', _("Certificate"))) yield etype( build_method='appypdf', template='Default.odt', body_template='payment_list.body.html', certifying=True, content_type=ContentType.objects.get_for_model( rt.models.courses.Course), **dd.str2kw('name', _("Payment list")))
def objects(): yield lib_objects() GuestRole = rt.models.cal.GuestRole yield GuestRole(**dd.str2kw('name', _("Participant"))) yield GuestRole(**dd.str2kw('name', _("Guide"))) yield GuestRole(**dd.str2kw('name', _("Teacher"))) EventType = rt.models.cal.EventType RecurrentEvent = rt.models.cal.RecurrentEvent Recurrencies = rt.models.cal.Recurrencies DEMO_START_YEAR = rt.models.cal.DEMO_START_YEAR holidays = EventType.objects.get( **dd.str2kw('name', _("Holidays"))) yield RecurrentEvent( event_type=holidays, every_unit=Recurrencies.yearly, monday=True, tuesday=True, wednesday=True, thursday=True, friday=True, saturday=True, sunday=True, every=1, start_date=datetime.date( year=DEMO_START_YEAR, month=7, day=1), end_date=datetime.date( year=DEMO_START_YEAR, month=8, day=31), **dd.str2kw('name', _("Summer holidays")))
def objects(): PaperType = rt.models.sales.PaperType bm = rt.models.printing.BuildMethods.get_system_default() yield PaperType(template="DefaultLetter" + bm.template_ext, **dd.str2kw('name', _("Letter paper"))) yield PaperType(template="DefaultBlank" + bm.template_ext, **dd.str2kw('name', _("Blank paper")))
def objects(): Account = rt.modules.accounts.Account JournalGroups = rt.modules.ledger.JournalGroups BankStatement = rt.modules.finan.BankStatement PaymentOrder = rt.modules.finan.PaymentOrder DisbursementOrdersByJournal = rt.modules.finan.DisbursementOrdersByJournal InvoicesByJournal = rt.modules.vatless.InvoicesByJournal ProjectInvoicesByJournal = rt.modules.vatless.ProjectInvoicesByJournal MatchRule = rt.modules.ledger.MatchRule a4400 = Account.objects.get(ref="4400") a4450 = Account.objects.get(ref="4450") a5800 = Account.objects.get(ref="5800") kw = dict(journal_group=JournalGroups.reg) kw.update(trade_type='purchases', ref="REG") kw.update(dd.str2kw('name', _("Incoming invoices"))) kw.update(dc=CREDIT) yield ProjectInvoicesByJournal.create_journal(**kw) kw.update(ref="SREG") kw.update(dd.str2kw('name', _("Collective purchase invoices"))) yield InvoicesByJournal.create_journal(**kw) kw.update(dd.str2kw('name', _("Disbursement orders"))) kw.update(account='4450', ref="AAW") kw.update(journal_group=JournalGroups.anw) # kw.update(dc=CREDIT) # kw.update(invert_due_dc=False) jnl = DisbursementOrdersByJournal.create_journal(**kw) yield jnl yield MatchRule(journal=jnl, account=a4400) if dd.is_installed('client_vouchers'): ClientVoucher = rt.modules.client_vouchers.ClientVoucher kw = dict(journal_group=JournalGroups.aids) kw.update(trade_type='aids', ref="AIDS") kw.update(dd.str2kw('name', _("Aid allocations"))) jnl = ClientVoucher.create_journal(**kw) yield jnl yield MatchRule(journal=jnl, account=a4400) kw = dict() # kw.update(journal_group=JournalGroups.tre) # kw.update(dd.str2kw('name', _("KBC"))) # kw.update(account='5500', ref="KBC") # jnl = BankStatement.create_journal(**kw) # yield jnl # yield MatchRule(journal=jnl, account=a4450) # yield MatchRule(journal=jnl, account=a5800) kw.update(journal_group=JournalGroups.zau) kw.update(dd.str2kw('name', _("KBC Payment Orders"))) kw.update(account='5800', ref="ZKBC") kw.update(dc=CREDIT) jnl = PaymentOrder.create_journal(**kw) yield jnl yield MatchRule(journal=jnl, account=a4450)
def objects(): Language = Instantiator('languages.Language', "id").build yield Language('ger', **dd.str2kw('name', _("German"))) yield Language('fre', **dd.str2kw('name', _("French"))) yield Language('eng', **dd.str2kw('name', _("English"))) yield Language('dut', **dd.str2kw('name', _("Dutch"))) yield Language('est', **dd.str2kw('name', _("Estonian")))
def choiceset(name, *choices): namekw = dd.str2kw('name', name) cs = polls.ChoiceSet(**namekw) cs.save() for choice in choices: namekw = dd.str2kw('name', choice) obj = polls.Choice(choiceset=cs, **namekw) obj.full_clean() obj.save() return cs
def objects(): PaperType = rt.models.sales.PaperType bm = rt.models.printing.BuildMethods.get_system_default() yield PaperType( template="DefaultLetter" + bm.template_ext, **dd.str2kw('name', _("Letter paper"))) yield PaperType( template="DefaultBlank" + bm.template_ext, **dd.str2kw('name', _("Blank paper")))
def objects(): ListType = rt.models.lists.ListType List = rt.models.lists.List mailing = babeld(ListType, _("Mailing list")) yield mailing discuss = babeld(ListType, _("Discussion group")) yield discuss flags = ListType(**dd.str2kw('designation', _("Flags"))) yield flags yield List(list_type=mailing, **dd.str2kw('designation', _("Announcements"))) yield List(list_type=mailing, **dd.str2kw('designation', _("Weekly newsletter"))) yield List(list_type=discuss, **dd.str2kw('designation', _("General discussion"))) yield List(list_type=discuss, **dd.str2kw('designation', _("Beginners forum"))) yield List(list_type=discuss, **dd.str2kw('designation', _("Developers forum"))) yield List(list_type=flags, **dd.str2kw('designation', _("PyCon 2014"))) yield List(list_type=flags, **dd.str2kw('designation', _("Free Software Day 2014"))) yield List(list_type=flags, **dd.str2kw('designation', _("Schools")))
def objects(): add = Instantiator('cal.Priority', 'ref').build yield add('1', **dd.babel_values('name', en=u"very urgent", de=u"sehr dringend", fr=u"très urgent", et=u"väga kiire")) yield add('3', **dd.babel_values('name', en=u"urgent", de=u"dringend", fr=u"urgent", et="kiire")) yield add('5', **dd.babel_values('name', en=u"normal", de=u"normal", fr=u"normal", et="keskmine")) yield add('9', **dd.babel_values('name', en=u"not urgent", de=u"nicht dringend", fr=u"pas urgent", et="mitte kiire")) calendar = Instantiator('cal.Calendar').build general = calendar(**dd.str2kw('name', _("General"))) # de="Allgemein", # fr="Général", yield general settings.SITE.site_config.site_calendar = general yield settings.SITE.site_config event_type = Instantiator('cal.EventType').build holidays = event_type( is_appointment=False, all_rooms=True, **dd.str2kw('name', _("Holidays"))) yield holidays yield event_type(**dd.str2kw('name', _("Meeting"))) RecurrentEvent = dd.resolve_model('cal.RecurrentEvent') add = Instantiator(RecurrentEvent, event_type=holidays).build def holiday(month, day, en, de, fr, et=None): if et is None: et = en return add( every_unit=cal.Recurrencies.yearly, monday=True, tuesday=True, wednesday=True, thursday=True, friday=True, saturday=True, sunday=True, every=1, start_date=datetime.date( year=cal.DEMO_START_YEAR, month=month, day=day), **dd.babelkw('name', en=en, de=de, fr=fr, et=et)) yield holiday(1, 1, "New Year's Day", "Neujahr", "Jour de l'an", "Uusaasta") yield holiday(5, 1, "International Workers' Day", "Tag der Arbeit", "Premier Mai", "kevadpüha") yield holiday(7, 21, "National Day", "Nationalfeiertag", "Fête nationale", "Belgia riigipüha") yield holiday(8, 15, "Assumption of Mary", "Mariä Himmelfahrt", "Assomption de Marie") yield holiday(10, 31, "All Souls' Day", "Allerseelen", "Commémoration des fidèles défunts") yield holiday(11, 1, "All Saints' Day", "Allerheiligen", "Toussaint") yield holiday(11, 11, "Armistice with Germany", "Waffenstillstand", "Armistice") yield holiday(12, 25, "Christmas", "Weihnachten", "Noël", "Esimene Jõulupüha") summer = holiday(07, 01, "Summer holidays", "Sommerferien", "Vacances d'été", "Suvevaheaeg") summer.end_date = summer.start_date.replace(month=8, day=31) yield summer ar = settings.SITE.login() for obj in RecurrentEvent.objects.all(): if not obj.update_reminders(ar): raise Exception("Oops, %s generated no events" % obj)
def create_object(self, **kwargs): kwargs.update(dd.str2kw('designation', self.text)) kwargs.update(dc=self.dc) kwargs.update(common_item=self) kwargs.update(sheet_type=self.sheet_type) kwargs.update(mirror_ref=self.mirror_ref) return rt.models.sheets.Item(ref=self.value, **kwargs)
def objects(): User = rt.modules.users.User Note = rt.modules.notes.Note NoteType = rt.modules.notes.NoteType USERS = Cycler(User.objects.all()) if settings.SITE.project_model is not None: Project = settings.SITE.project_model qs = Project.objects.all() if qs.count() > 10: qs = qs[:10] PROJECTS = Cycler(qs) NTYPES = Cycler(NoteType.objects.all()) notetype = Instantiator('notes.NoteType').build tel = notetype(name="phone report") yield tel yield notetype(name="todo") for i in range(100): kw = dict( user=USERS.pop(), date=settings.SITE.demo_date(days=i - 400), subject=SUBJECTS.pop(), # "Important note %d" % i, type=NTYPES.pop()) if settings.SITE.project_model is not None: kw.update(project=PROJECTS.pop()) yield Note(**kw) EventType = rt.models.notes.EventType system_note = EventType(**dd.str2kw('name', _("System note"))) yield system_note settings.SITE.site_config.system_note_type = system_note yield settings.SITE.site_config
def objects(): User = rt.models.users.User Note = rt.models.notes.Note NoteType = rt.models.notes.NoteType USERS = Cycler(User.objects.all()) if settings.SITE.project_model is not None: Project = settings.SITE.project_model qs = Project.objects.all() if qs.count() > 10: qs = qs[:10] PROJECTS = Cycler(qs) NTYPES = Cycler(NoteType.objects.all()) notetype = Instantiator('notes.NoteType').build tel = notetype(name="phone report") yield tel yield notetype(name="todo") for i in range(100): kw = dict(user=USERS.pop(), date=settings.SITE.demo_date(days=i-400), subject=SUBJECTS.pop(), # "Important note %d" % i, type=NTYPES.pop()) if settings.SITE.project_model is not None: kw.update(project=PROJECTS.pop()) yield Note(**kw) EventType = rt.models.notes.EventType system_note = EventType(**dd.str2kw('name', _("System note"))) yield system_note # print("20180502 notes.fixtures.demo calls update") settings.SITE.site_config.update(system_note_type=system_note)
def objects(): ContentType = rt.models.contenttypes.ContentType ExcerptType = rt.models.excerpts.ExcerptType RoleType = rt.models.contacts.RoleType yield ExcerptType(build_method='weasy2pdf', template='final_report.weasy.html', certifying=True, primary=True, content_type=ContentType.objects.get_for_model( rt.models.avanti.Client), **dd.str2kw('name', _("Final report"))) yield RoleType(**dd.str2kw('name', _("Integration assistant"))) yield RoleType(**dd.str2kw('name', _("Social assistant")))
def group(ref, type, name): global current_group current_group = Group( ref=ref, account_type=AccountTypes.get_by_name(type), **dd.str2kw('name', name)) return current_group
def objects(): TT = rt.modules.immersion.ContractType Goal = rt.modules.immersion.Goal def str2obj(model, name, **kwargs): kwargs.update(dd.str2kw('name', name)) return model(**kwargs) yield str2obj(Goal, _("Discover a job")) yield str2obj(Goal, _("Confirm a professional project")) yield str2obj(Goal, _("Gain work experience")) yield str2obj(Goal, _("Show competences")) yield str2obj(TT, _("Internal engagement"), template="Default.odt") yield str2obj(TT, _("Immersion training"), template="StageForem.odt") yield str2obj(TT, _("MISIP"), template="Default.odt") kw = dict( email_template='Default.eml.html', body_template='immersion.body.html', primary=True, certifying=True, #template='Default.odt', **dd.str2kw('name', _("Immersion training"))) yield rt.modules.excerpts.ExcerptType.update_for_model( 'immersion.Contract', **kw)
def objects(): ExcerptType = rt.models.excerpts.ExcerptType for cls in rt.models_by_base(Certifiable): kw = dd.str2kw('name', cls._meta.verbose_name) kw.update(primary=True, certifying=True) yield ExcerptType( content_type=ContentType.objects.get_for_model(cls), **kw)
def create_object(self, **kwargs): kwargs.update(dd.str2kw('name', self.text)) kwargs.update(clearable=self.clearable) kwargs.update(needs_partner=self.needs_partner) kwargs.update(common_account=self) kwargs.update(type=self.account_type) return rt.models.accounts.Account( ref=self.value, **kwargs)
def objects(): Recurrencies = rt.modules.cal.Recurrencies UploadType = rt.modules.uploads.UploadType kw = dict( warn_expiry_unit=Recurrencies.monthly, warn_expiry_value=2) kw.update(max_number=1, wanted=True) kw.update(dd.str2kw('name', _("Residence permit"))) # 'name', de=u"Aufenthaltserlaubnis", # fr=u"Permis de séjour", en="Residence permit")) yield UploadType(id=UPLOADTYPE_RESIDENCE_PERMIT, **kw) kw.update(dd.str2kw('name', _("Work permit"))) # 'name', de=u"Arbeitserlaubnis", # fr=u"Permis de travail", en="Work permit")) yield UploadType(id=UPLOADTYPE_WORK_PERMIT, **kw) kw.update(warn_expiry_value=1) kw.update(dd.str2kw('name', _("Driving licence"))) yield UploadType(id=UPLOADTYPE_DRIVING_LICENSE, **kw) kw.update(dd.str2kw('name', _("Identifying document"))) yield UploadType(shortcut=Shortcuts.id_document, **kw) kw.update(max_number=-1, wanted=False) kw.update(warn_expiry_unit='') kw.update(dd.str2kw('name', _("Contract"))) yield UploadType(**kw) kw.update(dd.str2kw('name', _("Medical certificate"))) # de="Ärztliche Bescheinigung", # fr="Certificat médical", yield UploadType(**kw) kw.update(dd.str2kw('name', _("Handicap certificate"))) # de="Behindertenausweis", # fr="Certificat de handicap", yield UploadType(**kw) kw.update(wanted=True) kw.update(dd.str2kw('name', _("Diploma"))) yield UploadType(**kw) kw.update(wanted=False) kw.update(dd.str2kw('name', _("Identity card"))) # fr=u"Carte d'identité", en="Identity card")) yield UploadType(**kw)
def objects(): ContentType = rt.modules.contenttypes.ContentType ExcerptType = rt.modules.excerpts.ExcerptType Course = rt.models.courses.Course yield ExcerptType( template='presence_sheet.wk.html', primary=True, build_method='wkhtmltopdf', content_type=ContentType.objects.get_for_model(Course), **dd.str2kw('name', _("Presence sheet"))) yield ExcerptType( template='overview.wk.html', build_method='wkhtmltopdf', content_type=ContentType.objects.get_for_model(Course), **dd.str2kw('name', _("Overview")))
def objects(): ExcerptType = rt.models.excerpts.ExcerptType ContentType = rt.models.contenttypes.ContentType for cls in rt.models_by_base(Certifiable): ct = ContentType.objects.get_for_model(cls) kw = dict(content_type=ct, primary=True, certifying=True) if ExcerptType.objects.filter(**kw).count() == 0: kw.update(dd.str2kw('name', cls._meta.verbose_name)) yield ExcerptType(**kw)
def objects(): ExcerptType = rt.models.excerpts.ExcerptType kw = dict(template="default.weasy.html", primary=True, certifying=True, build_method='weasy2pdf', **dd.str2kw('name', _("VAT declaration"))) yield ExcerptType.update_for_model(rt.models.bevats.Declaration, **kw)
def unused_objects(): Milestone = dd.plugins.tickets.milestone_model ExcerptType = rt.models.excerpts.ExcerptType kw = dict( body_template='default.body.html', print_recipient=False, primary=True, certifying=True) kw.update(dd.str2kw('name', Milestone._meta.verbose_name)) yield ExcerptType.update_for_model(Milestone, **kw)
def unused_objects(): Milestone = dd.plugins.tickets.milestone_model ExcerptType = rt.models.excerpts.ExcerptType kw = dict(body_template='default.body.html', print_recipient=False, primary=True, certifying=True) kw.update(dd.str2kw('name', Milestone._meta.verbose_name)) yield ExcerptType.update_for_model(Milestone, **kw)
def create_object(self, **kwargs): kwargs.update(dd.str2kw('name', self.text)) kwargs.update(clearable=self.clearable) kwargs.update(needs_partner=self.needs_partner) kwargs.update(common_account=self) # if dd.is_installed('sheets'): # kwargs.update(sheet_item=self.sheet_item.get_object()) # else: # kwargs.pop('sheet_item', None) return rt.models.ledger.Account(ref=self.value, **kwargs)
def create_object(self, **kwargs): kwargs.update(dd.str2kw('name', self.text)) kwargs.update(clearable=self.clearable) kwargs.update(needs_partner=self.needs_partner) kwargs.update(common_account=self) # if dd.is_installed('sheets'): # kwargs.update(sheet_item=self.sheet_item.get_object()) # else: # kwargs.pop('sheet_item', None) return rt.models.ledger.Account( ref=self.value, **kwargs)
def objects(): ExcerptType = rt.models.excerpts.ExcerptType ContentType = rt.models.contenttypes.ContentType yield ExcerptType( template="default.weasy.html", primary=True, certifying=True, build_method='weasy2pdf', content_type=ContentType.objects.get_for_model( dd.resolve_model('bevats.Declaration')), **dd.str2kw('name', _("VAT declaration")))
def objects(): from lino_welfare.modlib.debts.fixtures.minimal import objects yield objects() ExcerptType = rt.modules.excerpts.ExcerptType kw = dict( # template='Default.odt', certifying=True) kw.update(dd.str2kw('name', _("Financial situation"))) yield ExcerptType.update_for_model('debts.Budget', **kw)
def objects(): ExcerptType = rt.modules.excerpts.ExcerptType Enrolment = rt.models.courses.Enrolment # ContentType = rt.modules.contenttypes.ContentType kw = dict( # template='Default.odt', body_template='enrolment.body.html', print_recipient=False, certifying=True) kw.update(dd.str2kw('name', _("Enrolment"))) yield ExcerptType.update_for_model(Enrolment, **kw)
def objects(): yield lib_objects() SECTIONS = Cycler(rt.models.courses.Sections.objects()) for obj in rt.models.courses.Pupil.objects.order_by('id'): if obj.id % 5 == 0: obj.is_lfv = True if obj.id % 6 == 0: obj.is_ckk = True if obj.id % 4 == 0: obj.section = SECTIONS.pop() elif obj.id % 10 != 0: obj.member_until = dd.demo_date().replace(month=12, day=31) yield obj fee_account = rt.models.accounts.Account( ref=dd.plugins.courses.membership_fee_account, type=rt.models.accounts.AccountTypes.incomes, default_amount=15, **dd.str2kw('name', _("Membership fee"))) yield fee_account Journal = rt.models.ledger.Journal USERS = Cycler(rt.models.users.User.objects.all()) MEMBERS = Cycler(rt.models.courses.Pupil.objects.all()) jnl = Journal.objects.get(ref='CSH') membership_payments = [ (1, 3), (2, 1), (10, 2), (11, 4), (12, 5), ] REQUEST = rt.login() for month, number in membership_payments: date = dd.demo_date().replace(month=month) voucher = jnl.create_voucher( user=USERS.pop(), voucher_date=date) yield voucher for i in range(number): M = jnl.voucher_type.get_items_model() kw = dict(voucher=voucher) kw.update(partner=MEMBERS.pop(), date=date, account=fee_account) kw.update( amount=fee_account.default_amount, dc=fee_account.type.dc) yield M(**kw) voucher.register(REQUEST) voucher.save()
def objects(): JournalGroups = rt.models.ledger.JournalGroups Company = rt.models.contacts.Company # JOURNALS kw = dict(journal_group=JournalGroups.sales) MODEL = sales.VatProductInvoice kw.update(trade_type='sales') kw.update(ref="OFF", dc=DC.credit) kw.update(printed_name=_("Offer")) kw.update(dd.str2kw('name', _("Offers"))) yield MODEL.create_journal(**kw) kw = dict(journal_group=JournalGroups.sales) MODEL = sales.VatProductInvoice kw.update(trade_type='sales') kw.update(ref="CMP", dc=DC.credit) kw.update(printed_name=_("Component sheet")) kw.update(dd.str2kw('name', _("Component sheets"))) yield MODEL.create_journal(**kw)
def objects(): ExcerptType = rt.models.excerpts.ExcerptType ContentType = rt.models.contenttypes.ContentType Partner = rt.models.contacts.Partner yield ExcerptType( template="payment_reminder.weasy.html", build_method='weasy2pdf', content_type=ContentType.objects.get_for_model(Partner), **dd.str2kw('name', _("Payment reminder"))) yield payment_terms()
def objects(): ExcerptType = rt.modules.excerpts.ExcerptType for cls in rt.models_by_base(Certifiable): kw = dd.str2kw('name', cls._meta.verbose_name) if False: kw.update(backward_compat=True) yield ExcerptType( #template='Default.odt', primary=True, certifying=True, content_type=ContentType.objects.get_for_model(cls), **kw)
def objects(): yield parent_objects() ServiceReport = rt.modules.clocking.ServiceReport ExcerptType = rt.modules.excerpts.ExcerptType kw = dict( build_method='weasy2html', # template='service_report.weasy.html', # body_template='default.body.html', # print_recipient=False, primary=True, certifying=True) kw.update(dd.str2kw('name', ServiceReport._meta.verbose_name)) yield ExcerptType.update_for_model(ServiceReport, **kw)
def objects(self): Team = rt.models.teams.Team Country = rt.models.countries.Country self.eupen = create(Team, name="Eupen") yield self.eupen self.stvith = create(Team, name="St. Vith") yield self.stvith yield Country(isocode='LU', **dd.str2kw('name', _("Luxemburg"))) yield Country(isocode='PL', **dd.str2kw('name', _("Poland"))) yield Country(isocode='AU', **dd.str2kw('name', _("Austria"))) yield Country(isocode='US', short_code='USA', **dd.str2kw('name', _("United States"))) yield self.load_dbf('USR') yield super(TimLoader, self).objects() yield self.load_dbf('PLP') if False: yield self.load_dbf('DLS')
def objects(): def country(isocode, **kw): try: return Country.objects.get(isocode=isocode) except Country.DoesNotExist: return Country(isocode=isocode, **kw) yield country('EE', **dd.str2kw('name', _("Estonia"))) yield country('BE', **dd.str2kw('name', _("Belgium"))) yield country('DE', **dd.str2kw('name', _("Germany"))) yield country('FR', **dd.str2kw('name', _("France"))) yield country('NL', **dd.str2kw('name', _("Netherlands"))) yield country('MA', **dd.str2kw('name', _("Maroc"))) yield country('RU', **dd.str2kw('name', _("Russia"))) yield country('CD', **dd.str2kw('name', _("Congo (Democratic Republic)")))
def objects(): # three methods for specifying content of babelfields in fixtures: yield Foo( designation="First", designation_de="Erster", designation_fr="Premier", last_visit=dt(2016, 7, 2, 23, 55, 12)) yield Foo( last_visit=dt(2016, 7, 3, 0, 10, 23), **dd.str2kw('designation', _("January"))) yield Foo( # last_visit=dt(2016, 10, 30, 4, 34, 0), last_visit=dt(2017, 10, 29, 3, 16, 6), # last_visit=dt(2012, 10, 28, 4, 34, 0), **dd.babelkw('designation', en="Three", de="Drei", fr="Trois", et="Kolm"))
def objects(): PaymentTerm = rt.models.ledger.PaymentTerm Worker = dd.plugins.ledger.worker_model if Worker is not None: kwargs = {} kwargs['worker'] = Worker.objects.get(first_name="Robin") kwargs['ref'] = "robin" kwargs = dd.str2kw('name', _("Cash Robin"), **kwargs) yield PaymentTerm(**kwargs) PAYMENT_TERMS = Cycler(PaymentTerm.objects.all()) for obj in rt.models.contacts.Partner.objects.all(): obj.payment_term = PAYMENT_TERMS.pop() yield obj
def objects(): ExcerptType = rt.modules.excerpts.ExcerptType ContentType = rt.modules.contenttypes.ContentType # yield ExcerptType( # body_template="payment_reminder.body.html", # content_type=ContentType.objects.get_for_model( # dd.resolve_model('contacts.Partner')), # **dd.str2kw('name', _("Payment reminder"))) yield ExcerptType(template="payment_reminder.weasy.html", build_method='weasy2pdf', content_type=ContentType.objects.get_for_model( dd.resolve_model('contacts.Partner')), **dd.str2kw('name', _("Payment reminder"))) yield payment_terms()
def objects(): # three methods for specifying content of babelfields in fixtures: yield Foo(designation="First", designation_de="Erster", designation_fr="Premier", last_visit=dt(2016, 7, 2, 23, 55, 12)) yield Foo(last_visit=dt(2016, 7, 3, 0, 10, 23), **dd.str2kw('designation', _("January"))) yield Foo( # last_visit=dt(2016, 10, 30, 4, 34, 0), last_visit=dt(2017, 10, 29, 3, 16, 6), # last_visit=dt(2012, 10, 28, 4, 34, 0), **dd.babelkw('designation', en="Three", de="Drei", fr="Trois", et="Kolm"))
def objects(): Partner = rt.models.contacts.Partner Person = rt.models.contacts.Person for ct in COMPANY_TYPES: yield companyType(**ct) # qs = rt.models.contacts.RoleType.objects.filter(rt.lookup_filter('name', "CEO")) # if qs.count(): # raise Exception("Oops, there is already a CEO in {}".format(qs)) # dd.logger.info("Creating the CEO function") yield roletype(**dd.str2kw('name', _("CEO"), can_sign=True)) yield roletype(**dd.str2kw('name', _("Director"), can_sign=True)) yield roletype(**dd.str2kw('name', _("Secretary"))) yield roletype(**dd.str2kw('name', _("IT manager"))) yield roletype(**dd.str2kw('name', _("President"), can_sign=True)) # yield roletype(**babel_values('name', en="Manager", fr='Gérant', de="Geschäftsführer", et="Tegevjuht")) # yield roletype(**babel_values('name', en="Director", fr='Directeur', de="Direktor", et="Direktor")) # yield roletype(**babel_values('name', en="Secretary", fr='Secrétaire', de="Sekretär", et="Sekretär")) # yield roletype(**babel_values('name', en="IT Manager", fr='Gérant informatique', de="EDV-Manager", et="IT manager")) # yield roletype(**babel_values('name', en="President", fr='Président', de="Präsident", et="President")) if dd.is_installed('excerpts') and dd.is_installed('appypod'): ExcerptType = rt.models.excerpts.ExcerptType ContentType = rt.models.contenttypes.ContentType yield ExcerptType( build_method='appypdf', template="TermsConditions.odt", content_type=ContentType.objects.get_for_model(Person), **dd.str2kw('name', _("Terms & conditions"))) if dd.is_installed('contenttypes'): # TODO: remove this because the feature isn't used. But afterwards adapt # the doctests! ContentType = rt.models.contenttypes.ContentType I = Instantiator('gfks.HelpText', 'content_type field help_text').build t = ContentType.objects.get_for_model(Person) #~ yield I(t,'birth_date',u"""\ #~ Unkomplette Geburtsdaten sind erlaubt, z.B. #~ <ul> #~ <li>00.00.1980 : irgendwann in 1980</li> #~ <li>00.07.1980 : im Juli 1980</li> #~ <li>23.07.0000 : Geburtstag am 23. Juli, Alter unbekannt</li> #~ </ul> #~ """) ct = ContentType.objects.get_for_model(Partner) yield I( ct, 'language', u"""\ Die Sprache, in der Dokumente ausgestellt werden sollen. """)
def objects(): ExcerptType = rt.modules.excerpts.ExcerptType ContentType = rt.modules.contenttypes.ContentType # yield ExcerptType( # body_template="payment_reminder.body.html", # content_type=ContentType.objects.get_for_model( # dd.resolve_model('contacts.Partner')), # **dd.str2kw('name', _("Payment reminder"))) yield ExcerptType( template="payment_reminder.weasy.html", build_method='weasy2pdf', content_type=ContentType.objects.get_for_model( dd.resolve_model('contacts.Partner')), **dd.str2kw('name', _("Payment reminder"))) yield payment_terms()
def objects(): if not dd.is_installed('excerpts'): return if not dd.is_installed('appypod'): return ContentType = rt.models.contenttypes.ContentType ExcerptType = rt.models.excerpts.ExcerptType yield ExcerptType( build_method='appyodt', #template='Default.odt', body_template='welcome.body.html', # certifying=True, primary=True, content_type=ContentType.objects.get_for_model(rt.models.users.User), **dd.str2kw('name', _("Welcome letter")))
def objects(): Partner = rt.models.contacts.Partner Person = rt.models.contacts.Person for ct in COMPANY_TYPES: yield companyType(**ct) yield roletype(**babel_values('name', en="Manager", fr='Gérant', de="Geschäftsführer", et="Tegevjuht")) yield roletype(**babel_values('name', en="Director", fr='Directeur', de="Direktor", et="Direktor")) yield roletype(**babel_values('name', en="Secretary", fr='Secrétaire', de="Sekretär", et="Sekretär")) yield roletype(**babel_values('name', en="IT Manager", fr='Gérant informatique', de="EDV-Manager", et="IT manager")) yield roletype(**babel_values('name', en="President", fr='Président', de="Präsident", et="President")) if dd.is_installed('excerpts') and dd.is_installed('appypod'): ExcerptType = rt.models.excerpts.ExcerptType ContentType = rt.models.contenttypes.ContentType yield ExcerptType( build_method='appypdf', template="TermsConditions.odt", content_type=ContentType.objects.get_for_model(Person), **dd.str2kw('name', _("Terms & conditions"))) if dd.is_installed('contenttypes'): ContentType = rt.models.contenttypes.ContentType I = Instantiator('gfks.HelpText', 'content_type field help_text').build t = ContentType.objects.get_for_model(Person) #~ yield I(t,'birth_date',u"""\ #~ Unkomplette Geburtsdaten sind erlaubt, z.B. #~ <ul> #~ <li>00.00.1980 : irgendwann in 1980</li> #~ <li>00.07.1980 : im Juli 1980</li> #~ <li>23.07.0000 : Geburtstag am 23. Juli, Alter unbekannt</li> #~ </ul> #~ """) t = ContentType.objects.get_for_model(Partner) yield I(t, 'language', u"""\ Die Sprache, in der Dokumente ausgestellt werden sollen. """)
def objects(): Type = rt.models.households.Type yield Type(**dd.str2kw('name', _("Married couple"))) # Verheiratet / Marié yield Type(**dd.str2kw('name', _("Divorced couple"))) # Geschieden / Divorcé yield Type(**dd.str2kw('name', _("Factual household"))) # Faktischer Haushalt / Ménage de fait yield Type(**dd.str2kw('name', _("Legal cohabitation"))) # Legale Wohngemeinschaft / Cohabitation légale yield Type(**dd.str2kw('name', _("Isolated"))) yield Type(**dd.str2kw('name', _("Other")))
def objects(): polls = rt.models.polls agree = polls.ChoiceSet.objects.get( **dd.str2kw('name', _("Agree-Disagree"))) USERS = Cycler(settings.SITE.user_model.objects.all()) def poll(choiceset, title, details, questions): return polls.Poll( user=USERS.pop(), title=title.strip(), details=details.strip(), state=polls.PollStates.active, questions_to_add=questions, default_choiceset=choiceset) yield poll( agree, "Political compass", "First two pages of [url https://www.politicalcompass.org/test]", QUESTIONS)
def relative_holiday(offset, name): return add( every_unit=Recurrencies.easter, every=1, start_date=easter1+relativedelta(days=offset), **dd.str2kw('name', name))
def objects(): Line = rt.models.courses.Line Teacher = dd.plugins.courses.teacher_model Course = rt.models.courses.Course Topic = rt.models.courses.Topic Enrolment = rt.models.courses.Enrolment CourseStates = rt.models.courses.CourseStates User = rt.models.users.User EventType = rt.models.cal.EventType Guest = rt.models.cal.Guest GuestRole = rt.models.cal.GuestRole GuestStates = rt.models.cal.GuestStates EntryStates = rt.models.cal.EntryStates Event = rt.models.cal.Event Person = rt.models.contacts.Person CommentType = rt.models.comments.CommentType TrendStage = rt.models.trends.TrendStage TrendArea = rt.models.trends.TrendArea for area, stages in trends_config: ta = named(TrendArea, area) yield ta for stage in stages: kw = dict(trend_area=ta) if stage[0] == "!": stage = stage[1:] kw.update(subject_column=True) yield named(TrendStage, stage, **kw) yield EventType(**dd.str2kw('name', _("First contact"))) kw = dd.str2kw('name', _("Lesson")) kw.update(dd.str2kw('event_label', _("Lesson"))) event_type = EventType(**kw) yield event_type pupil = named(GuestRole, _("Pupil")) yield pupil yield named(GuestRole, _("Assistant")) topic_citizen = named(Topic, _("Citizen course")) yield topic_citizen topic_lang = named(Topic, _("Language courses")) yield topic_lang kw.update(topic=topic_citizen) kw = dict(event_type=event_type, guest_role=pupil) yield named(Line, _("Citizen course"), **kw) kw.update(topic=topic_lang) alpha = named(Line, _("Alphabetisation"), **kw) yield alpha yield named(Line, _("German for beginners"), **kw) yield named(Line, _("German A1+"), **kw) yield named(Line, _("German A2"), **kw) yield named(Line, _("German A2 (women)"), **kw) yield named(CommentType, _("Phone call")) yield named(CommentType, _("Visit")) yield named(CommentType, _("Individual consultation")) yield named(CommentType, _("Internal meeting")) yield named(CommentType, _("Meeting with partners")) laura = Teacher(first_name="Laura", last_name="Lieblig") yield laura yield User(username="******", user_type=UserTypes.teacher, partner=laura) yield User(username="******", user_type=UserTypes.user) yield User(username="******", user_type=UserTypes.user) yield User(username="******", user_type=UserTypes.auditor) yield User(username="******", user_type=UserTypes.coordinator) yield User(username="******", user_type=UserTypes.secretary) USERS = Cycler( User.objects.exclude(user_type__in=(UserTypes.auditor, UserTypes.admin))) kw = dict(monday=True, tuesday=True, thursday=True, friday=True) kw.update(line=alpha, start_date=dd.demo_date(-30), start_time="9:00", end_time="12:00", max_date=dd.demo_date(10), state=CourseStates.active, every_unit=Recurrencies.daily, user=USERS.pop(), teacher=laura, max_places=5) yield Course(**kw) kw.update(start_time="14:00", end_time="17:00", user=USERS.pop(), max_places=15) yield Course(**kw) kw.update(start_time="18:00", end_time="20:00", user=USERS.pop(), max_places=15) yield Course(**kw) PUPILS = Cycler(dd.plugins.courses.pupil_model.objects.all()) # print(20170302, dd.plugins.courses.pupil_model.objects.all()) COURSES = Cycler(Course.objects.all()) STATES = Cycler(EnrolmentStates.objects()) def fits(course, pupil): if course.max_places and course.get_free_places() == 0: return False if Enrolment.objects.filter(course=course, pupil=pupil).count(): return False return True def enrol(pupil): course = COURSES.pop() if fits(course, pupil): kw = dict(user=USERS.pop(), course=course, pupil=pupil) kw.update(request_date=dd.demo_date(-i)) kw.update(state=STATES.pop()) return Enrolment(**kw) for i, p in enumerate( dd.plugins.courses.pupil_model.objects.order_by('id')): yield enrol(p) if i % 2 == 0: yield enrol(p) if i % 3 == 0: yield enrol(p) ar = rt.login('robin') for obj in Course.objects.all(): obj.update_auto_events(ar) # Suggested calendar entries older than 7 days should be marked as # either took_place or cancelled. qs = Event.objects.filter(start_date__lte=dd.demo_date(-7), state=EntryStates.suggested) for i, obj in enumerate(qs): if i % 9: obj.state = EntryStates.took_place else: obj.state = EntryStates.cancelled obj.full_clean() obj.save() # participants of events which took place should be marked as # either absent or present or excused: qs = Guest.objects.filter( event__start_date__lte=dd.demo_date(-7), event__state=EntryStates.took_place).order_by('id') STATES = Cycler(GuestStates.get_list_items()) for i, obj in enumerate(qs): obj.state = STATES.pop() # if i % 8: # obj.state = GuestStates.present # elif i % 3: # obj.state = GuestStates.missing # else: # obj.state = GuestStates.excused obj.full_clean() obj.save()
def objects(): """ Education levels in Belgium: http://www.guide-enseignement.be/infos_pages/diplomes.html Certificat d'études de base (CEB) Certificat d'enseignement secondaire du deuxième degré (C.E.S.D.D.) Certificat d'études de sixième année de l'enseignement secondaire professionnel (C.E.6.P.) Certificat de qualification (C.Q.) Certificat d'enseignement secondaire supérieur (C.E.S.S.) Certificat relatif aux connaissances de gestion de base Brevet d’enseignement secondaire complémentaire – section "soins infirmiers(E.P.S.C.)" """ eduLevel = Instantiator('cv.EducationLevel').build yield eduLevel( **dd.babel_values('name', de="Primär", fr="Primaire", en="Primary")) yield eduLevel(**dd.babel_values( 'name', de="Sekundär", fr="Secondaire", en="Secondary")) yield eduLevel(**dd.babel_values( 'name', de="Hochschule", fr="Supérieur", en="Higher")) yield eduLevel( **dd.babel_values('name', de="Bachelor", fr="Bachelor", en="Bachelor")) yield eduLevel( **dd.babel_values('name', de="Master", fr="Master", en="Master")) studyType = Instantiator('cv.StudyType').build yield studyType(**dd.babel_values( 'name', de=u"Schule", fr=u"École", en=u"School", )) yield studyType(**dd.babel_values( 'name', de=u"Sonderschule", fr=u"École spéciale", en=u"Special school", )) yield studyType(**dd.babel_values( 'name', de=u"Ausbildung", fr=u"Formation", en=u"Training", )) yield studyType(**dd.babel_values( 'name', de=u"Lehre", fr=u"Apprentissage", en=u"Apprenticeship", )) yield studyType(**dd.babel_values( 'name', de=u"Hochschule", fr=u"École supérieure", en=u"Highschool", )) yield studyType(**dd.babel_values( 'name', de=u"Universität", fr=u"Université", en=u"University", )) yield studyType(**dd.babel_values( 'name', de=u"Teilzeitunterricht", fr=u"Cours à temps partiel", en=u"Part-time study", )) yield studyType(**dd.babel_values( 'name', de=u"Fernkurs", fr=u"Cours à distance", en=u"Remote study", )) M = Instantiator('cv.StudyType', is_training=True, is_study=False).build yield M(**dd.str2kw('name', _("Prequalifying"))) yield M(**dd.str2kw('name', _("Qualifying"))) yield M(**dd.str2kw('name', _("Alpha"))) M = Instantiator('cv.Duration').build yield M(**dd.str2kw('name', _("Unlimited duration"))) yield M(**dd.str2kw('name', _("Limited duration"))) yield M(**dd.str2kw('name', _("Clearly defined job"))) yield M(**dd.str2kw('name', _("Replacement"))) yield M(**dd.str2kw('name', _("Interim"))) """ Contrat de travail à durée indéterminée - Arbeidsovereenkomst voor onbepaalde tijd Contrat de travail à durée déterminée - Arbeidsovereenkomst voor bepaalde tijd Contrat pour un travail nettement défini - Arbeidsovereenkomst voor een duidelijk omschreven werk Contrat de remplacement - Vervangingsovereenkomst Contrat d’intérim Convention de premier emploi Contrat de travail à temps partiel """ status = Instantiator('cv.Status').build yield status(**dd.str2kw('name', _("Worker"))) yield status(**dd.str2kw('name', _("Employee"))) yield status(**dd.str2kw('name', _("Freelancer"))) yield status(**dd.str2kw('name', _("Voluntary"))) yield status(**dd.str2kw('name', _("Student"))) yield status(**dd.str2kw('name', _("Laboratory"))) # fr=Stage, # de=Praktikum yield status(**dd.str2kw('name', _("Interim"))) regime = Instantiator('cv.Regime').build yield regime(**dd.str2kw('name', _("Full-time"))) yield regime(**dd.str2kw('name', _("Part-time"))) yield regime(**dd.str2kw('name', _("Other")))
def DEP(name, **kwargs): kwargs = dd.str2kw('designation', name, **kwargs) # kwargs.update(designation=name) return rt.models.invoicing.Area(**kwargs)
def objects(): cal = rt.models.cal PlannerColumns = cal.PlannerColumns # add = Instantiator('cal.Priority', 'ref').build # yield add('1', **dd.babel_values('name', en=u"very urgent", de=u"sehr dringend", fr=u"très urgent", et=u"väga kiire")) # yield add('3', **dd.babel_values('name', en=u"urgent", de=u"dringend", fr=u"urgent", et="kiire")) # yield add('5', **dd.babel_values('name', en=u"normal", de=u"normal", fr=u"normal", et="keskmine")) # yield add('9', **dd.babel_values('name', en=u"not urgent", de=u"nicht dringend", fr=u"pas urgent", et="mitte kiire")) calendar = Instantiator('cal.Calendar').build general = calendar(**dd.str2kw('name', _("General"))) yield general # settings.SITE.site_config.site_calendar = general d = dd.demo_date() if d.month > 4: d = d.replace(month=1, day=1) else: d = d.replace(month=1, day=1, year=d.year-1) settings.SITE.site_config.update( site_calendar=general, hide_events_before=d) # yield settings.SITE.site_config event_type = Instantiator('cal.EventType').build yield event_type( planner_column=PlannerColumns.external, is_appointment=True, fill_presences=True, max_days=0, **dd.str2kw('name', _("Absences"))) holidays = event_type( planner_column=PlannerColumns.external, is_appointment=False, fill_presences=False, max_days=0, all_rooms=True, **dd.str2kw('name', _("Holidays"))) yield holidays meeting = event_type( is_appointment=True, fill_presences=True, planner_column=PlannerColumns.external, default_duration="1:00", **dd.str2kw('name', _("Meeting"))) yield meeting yield event_type( planner_column=PlannerColumns.internal, is_appointment=False, fill_presences=True, transparent=True, default_duration="0:30", **dd.str2kw('name', _("Internal"))) RecurrentEvent = rt.models.cal.RecurrentEvent add = Instantiator(RecurrentEvent, event_type=holidays).build def holiday(month, day, en, de, fr, et=None): if et is None: et = en return add( every_unit=Recurrencies.yearly, monday=True, tuesday=True, wednesday=True, thursday=True, friday=True, saturday=True, sunday=True, every=1, start_date=datetime.date( year=cal.DEMO_START_YEAR, month=month, day=day), **dd.babelkw('name', en=en, de=de, fr=fr, et=et)) yield holiday(1, 1, "New Year's Day", "Neujahr", "Jour de l'an", "Uusaasta") yield holiday(5, 1, "International Workers' Day", "Tag der Arbeit", "Premier Mai", "kevadpüha") yield holiday(7, 21, "National Day", "Nationalfeiertag", "Fête nationale", "Belgia riigipüha") yield holiday(8, 15, "Assumption of Mary", "Mariä Himmelfahrt", "Assomption de Marie") yield holiday(10, 31, "All Souls' Day", "Allerseelen", "Commémoration des fidèles défunts") yield holiday(11, 1, "All Saints' Day", "Allerheiligen", "Toussaint") yield holiday(11, 11, "Armistice with Germany", "Waffenstillstand", "Armistice") yield holiday(12, 25, "Christmas", "Weihnachten", "Noël", "Esimene Jõulupüha") easter1 = easter(cal.DEMO_START_YEAR) def relative_holiday(offset, name): return add( every_unit=Recurrencies.easter, every=1, start_date=easter1+relativedelta(days=offset), **dd.str2kw('name', name)) yield relative_holiday(0, _("Easter sunday")) yield relative_holiday(1, _("Easter monday")) yield relative_holiday(39, _("Ascension of Jesus")) yield relative_holiday(50, _("Pentecost")) yield relative_holiday(-2, _("Good Friday")) yield relative_holiday(-46, _("Ash Wednesday")) yield relative_holiday(-48, _("Rosenmontag")) ar = settings.SITE.login() for obj in RecurrentEvent.objects.all(): if not obj.update_reminders(ar): raise Exception("Oops, %s generated no events" % obj) # event policies kw = dict() for wd in WORKDAYS: kw[wd.name] = True kw.update(event_type=meeting) exam_policy = Instantiator( 'cal.EventPolicy', 'every', every_unit=DurationUnits.months, **kw).build yield exam_policy( 1, start_time="9:00", **dd.str2kw('name', _("Every month"))) yield exam_policy( 2, start_time="9:00", **dd.str2kw('name', _("Every 2 months"))) yield exam_policy( 3, **dd.str2kw('name', _("Every 3 months"))) exam_policy = Instantiator( 'cal.EventPolicy', 'every', every_unit=DurationUnits.weeks, **kw).build yield exam_policy( 2, start_time="9:00", **dd.str2kw('name', _("Every 2 weeks"))) exam_policy = Instantiator( 'cal.EventPolicy', 'every', every_unit=DurationUnits.days, **kw).build yield exam_policy( 10, max_events=1, start_time="9:00", **dd.str2kw('name', _("Once after 10 days"))) exam_policy = Instantiator('cal.EventPolicy').build yield exam_policy(**dd.str2kw('name', _("Other")))
def PT(name, ref, **kwargs): kwargs['ref'] = ref kwargs = dd.str2kw('name', name, **kwargs) return rt.modules.ledger.PaymentTerm(**kwargs)