def Deserializer(stream_or_string, **options): """ Deserialize a stream or string of YAML data. """ if isinstance(stream_or_string, basestring): stream = StringIO(stream_or_string) else: stream = stream_or_string model_builder = None for values in yaml.load_all(stream): if 'model' in values: modelspec = values.pop('model') #model_class = eval(modelspec) app, model = modelspec.split(".") # print app,model model_class = models.get_model(app, model) if not model_class: raise Exception("invalid model:" + modelspec) model_builder = Instantiator(model_class) if model_builder is None: raise DataError("No model specified") # print model_class instance = model_builder.build(**values) # yield instance #~ if model_class == User: #~ instance.set_password(yamldict.get('password')) # data files are required to use "!!python/object:", so the # yamldict is a Python object # self.add_node(yamldict) # print instance.pk, instance #~ instance.save() #~ m2m_data = {} yield FakeDeserializedObject(instance)
def Deserializer(stream_or_string, **options): """ Deserialize a stream or string of YAML data. """ if isinstance(stream_or_string, basestring): stream = StringIO(stream_or_string) else: stream = stream_or_string model_builder = None for values in yaml.load_all(stream): if values.has_key('model'): modelspec = values.pop('model') #model_class = eval(modelspec) app, model = modelspec.split(".") # print app,model model_class = models.get_model(app, model) if not model_class: raise Exception("invalid model:" + modelspec) model_builder = Instantiator(model_class) if model_builder is None: raise DataError("No model specified") # print model_class instance = model_builder.build(**values) # yield instance #~ if model_class == User: #~ instance.set_password(yamldict.get('password')) # data files are required to use "!!python/object:", so the # yamldict is a Python object # self.add_node(yamldict) # print instance.pk, instance #~ instance.save() #~ m2m_data = {} yield FakeDeserializedObject(instance)
def objects(): if False: guest_role = Instantiator('cal.GuestRole').build yield guest_role(**dd.babel_values( 'name', de=u"Teilnehmer", fr=u"Participant", en=u"Participant", et=u"Osavõtja", )) yield guest_role(**dd.babel_values( 'name', de=u"Reiseführer", fr=u"Guide", en=u"Guide", et=u"Reisijuht", )) yield guest_role(**dd.babel_values( 'name', de=u"Vorsitzender", fr=u"Président", en=u"Presider", et=u"Eesistuja", )) yield guest_role(**dd.babel_values( 'name', de=u"Protokollführer", fr=u"Greffier", en=u"Reporter", et=u"Sekretär", )) if False: place = Instantiator('cal.Room').build yield place(**dd.babel_values( 'name', de=u"Büro", fr=u"Bureau", en=u"Office", )) yield place(**dd.babel_values( 'name', de=u"Beim Klienten", fr=u"Chez le client", en=u"A the client's", )) yield place(**dd.babel_values( 'name', de=u"beim Arbeitgeber", fr=u"chez l'employeur", en=u"at employer's", ))
def objects(): ptype = Instantiator('properties.PropType').build division = ptype( **dd.babel_values('name', **dict( en="Division", fr="Division", de=u"Abteilung"))) yield division divchoice = Instantiator( 'properties.PropChoice', 'value', type=division).build yield divchoice('1', **dd.babel_values( 'text', **dict(en="Furniture", de=u"Möbel", fr=u"Meubles"))) yield divchoice('2', **dd.babel_values( 'text', **dict(en="Web hosting", de=u"Hosting", fr=u"Hosting")))
def objects(): author = Instantiator('tables.Author', 'first_name last_name country').build adams = author("Douglas", "Adams", "UK") yield adams camus = author("Albert", "Camus", "FR") yield camus huttner = author("Hannes", "Huttner", "DE") yield huttner book = Instantiator('tables.Book', 'title author published price').build yield book("Last chance to see...", adams, 1990, '9.90') yield book("The Hitchhiker's Guide to the Galaxy", adams, 1978, '19.90') yield book("Das Blaue vom Himmel", huttner, 1975, '14.90') yield book("L'etranger", camus, 1957, '6.90')
def objects(): ptype = Instantiator('properties.PropType').build properties = dd.resolve_app('properties') yield ptype(id=1, **dd.babel_values( 'name', **dict( en="Present or not", de=u"Vorhanden oder nicht", fr=u"Présent ou pas", et=u"Olemas või mitte", nl=u"Ja of niet", ))) yield ptype(id=2, choicelist=properties.HowWell.actor_id, default_value=properties.HowWell.default.value, **dd.babel_values( 'name', **dict( en="Rating", de=u"Bewertung", et=u"Hinnang", fr=u"Appréciation(?)", nl=u"Hoe goed", )))
def objects(): tft = Instantiator('tinymce.TextFieldTemplate', "name description text").build yield tft("hello", "Inserts 'Hello, world!'", """<div>Hello, world!</div>""") #~ yield tft("mfg","",'<p>Mit freundlichen Grüßen<br><p class="data_field">root</p>') yield tft("mfg", "", '<p>Mit freundlichen Grüßen<br><p>{{request.subst_user or request.user}}</p>')
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(): countries = dd.resolve_app('countries') city = Instantiator(countries.Place, "zip_code name", country='BE', type=countries.PlaceTypes.city).build for ln in belgian_cities.splitlines(): ln = ln.strip() if ln and ln[0] != '#': args = ln.split(None, 1) o = city(*args) # print "%r %r" % (o.zip_code, o.name) yield o #~ print __name__, "20121114" #~ return for ln in belgian_cities_nl_fr.splitlines(): ln = ln.strip() if ln and ln[0] != '#': args = ln.split('|') if len(args) != 4: raise Exception("Invalid format : \n%s" % ln) args = [x.strip() for x in args] o = city(zip_code=args[0], **dd.babel_values('name', nl=args[1], fr=args[2], de=args[3], en=args[3])) yield o
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 objects(): mailType = Instantiator('notes.NoteType').build yield mailType(**dd.babel_values( 'name', en="Enrolment", fr=u'Inscription', de=u"Einschreibeformular")) yield mailType(**dd.babel_values( 'name', en="Timetable", fr=u'Horaire', de=u"Stundenplan")) yield mailType( **dd.babel_values('name', en="Letter", fr=u'Lettre', de=u"Brief"))
def get_data_rows(self, ar): flt = ar.param_values.filter build = Instantiator(flt.content_type.model_class()).build for ln in ar.param_values.data.splitlines(): ln = ln.strip() if ln: kw = dict() cells = flt.field_sep.split(ln) for item in flt.item_set.all(): if item.column: kw[item.field] = cells[item.column - 1] yield build(**kw)
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(): productcat = Instantiator('products.ProductCat').build product = Instantiator('products.Product', "cat name").build food = productcat(**dd.babel_values( 'name', en="Food", et="Toit", de="Lebensmittel", fr="Alimentaire")) yield food yield product( food, "Le petit Fagnard", **dd.babel_values( 'description', en="Handmade cheese from Hautes Ardennes", et="Käsitsi valmistatud juust Ardenne'idest", de="Handgemachter Käse aus den Hohen Ardennen", fr="Fromage artisanal au lait cru des Hautes Ardennes")) if False: # we need an address parser which either returns or # creates the city. Here we don't want to know whether # `countries.fixtures.be` has been loaded. company = Instantiator('contacts.Company', "name country:isocode city:zip_code").build yield company("Fromagerie du Troufleur", "BE", "4950 Waimes")
def objects(): from lino_xl.lib.outbox.models import RecipientType Person = rt.modules.contacts.Person root = settings.SITE.user_model.objects.get(username='******') mail = Instantiator('outbox.Mail').build recipient_to = Instantiator( 'outbox.Recipient', type=RecipientType.to).build for p in Person.objects.filter(email=''): try: p.first_name.encode('ascii') p.email = p.first_name.lower() + "@example.com" p.save() except UnicodeError: pass for person in Person.objects.exclude(email=''): m = mail(user=root, subject='Welcome %s!' % person.first_name) yield m yield recipient_to(mail=m, partner=person)
def objects(): #~ city = Instantiator('countries.Place','name country').build #~ yield city('Vigala','EE') if 'et' in settings.SITE.languages: lang = 'et' else: # if language 'et' is not available, use the default language lang = settings.SITE.languages[0] company = Instantiator( "contacts.Company", country='EE', language=lang).build yield company(name=u'Minu Firma OÜ') yield company(name=u'Mets ja Puu OÜ') yield company(name=u'Kenavälja OÜ') person = Instantiator("contacts.Person", "first_name last_name", country='EE').build yield person(u'Aare', u'Aaresild') yield person(u'Ahti', u'Aaspere') yield person(u'Peeter', u'Bach') yield person(u'Tiina', u'Engelbert') yield person(u'Inge', u'Hallik') yield person(u'Harri', u'Hunt') yield person(u'Ingmar', u'Iliste') yield person(u'Jaan', u'Janno') yield person(u'Jaan', u'Jõgi') yield person(u'Karl', u'Kask') yield person(u'Leo', u'Lepamets') yield person(u'Madis', u'Mäeorg') yield person(u'Natalja', u'Nagel') yield person(u'Ott', u'Ojavee') yield person(u'Piret', u'Paas') yield person(u'Rannes', u'Rannala') yield person(u'Silja', u'Sääsk') yield person(u'Tõnu', u'Tamm') yield person(u'Tiina', u'Türnpuu') yield person(u'Urmas', u'Uukivi')
def site_company_objects(): company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='EE').build rumma = company('Rumma & Ko OÜ', '78003', 'Vigala', 'Uus tn', '1', url="http://www.saffre-rumma.net/") if dd.is_installed('vat'): rumma.vat_id = "EE100588749" # a vat_id is required for generating valid XML from payment order yield rumma settings.SITE.site_config.update(site_company=rumma)
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(): author = Instantiator( 'contacts.Person', 'first_name last_name').build yield author("Douglas", "Adams") yield author("Albert", "Camus") yield author("Hannes", "Huttner")
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 objects(): ClientContactType = rt.modules.pcsw.ClientContactType Person = resolve_model('contacts.Person') Company = resolve_model('contacts.Company') #~ Contact = resolve_model('contacts.Contact') Role = resolve_model('contacts.Role') RoleType = resolve_model('contacts.RoleType') Authority = resolve_model('users.Authority') #~ Country = resolve_model('countries.Country') Client = resolve_model('pcsw.Client') person = Instantiator(Person).build client = Instantiator(Client).build company = Instantiator(Company).build #~ contact = Instantiator(Contact).build role = Instantiator(Role).build #~ link = Instantiator(Link).build #~ exam_policy = Instantiator('isip.ExamPolicy').build Place = resolve_model('countries.Place') #~ Job = resolve_model('jobs.Job') #~ Place = settings.SITE.modules.countries.Place StudyType = resolve_model('cv.StudyType') #~ Country = resolve_model('countries.Country') Property = resolve_model('properties.Property') eupen = Place.objects.get(name__exact='Eupen') #~ stvith = Place.objects.get(zip_code__exact='4780') stvith = Place.objects.get(name__in=('Sankt Vith', 'Saint-Vith')) kettenis = Place.objects.get(name__exact='Kettenis') vigala = Place.objects.get(name__exact='Vigala') ee = countries.Country.objects.get(pk='EE') be = belgium = countries.Country.objects.get(isocode__exact='BE') andreas = Person.objects.get(name__exact="Arens Andreas") annette = Person.objects.get(name__exact="Arens Annette") hans = Person.objects.get(name__exact="Altenberg Hans") ulrike = Person.objects.get(name__exact="Charlier Ulrike") erna = Person.objects.get(name__exact=u"Ärgerlich Erna") ## Coaching types # We use only abbreviated names in `CoachingType.name` because the # users usually know these abbrevs. kw = dd.str2kw('name', _("Colleague")) COLLEAGUE = cal.GuestRole(**kw) yield COLLEAGUE # id must match `isip.ContactBase.person_changed` ASD = pcsw.CoachingType( id=isip.COACHINGTYPE_ASD, does_integ=False, does_gss=True, eval_guestrole=COLLEAGUE, **dd.babelkw( 'name', de="ASD", # (Allgemeiner Sozialdienst) nl="ASD", # (Algemene Sociale Dienst) fr="SSG", # (Service social général) en="General", # (General Social Service) )) yield ASD DSBE = pcsw.CoachingType( id=isip.COACHINGTYPE_DSBE, does_gss=False, does_integ=True, eval_guestrole=COLLEAGUE, **dd.babelkw( 'name', de="DSBE", # (Dienst für Sozial-Berufliche Eingliederung) fr="SI", # Service intégration en="Integ", # Integration service )) yield DSBE DEBTS = pcsw.CoachingType( does_gss=False, does_integ=False, **dd.babelkw( 'name', de="Schuldnerberatung", fr="Médiation de dettes", en="Debts mediation", )) yield DEBTS melanie = person(first_name="Mélanie", last_name="Mélard", email=settings.SITE.demo_email, city=eupen, country='BE', gender=dd.Genders.female, language='fr') ## newcomers : Melanie does not work with newcomers because she is ## the boss. Hubert does live consultations (no appointments). And ## Alicia does only appointments but no life ## consultations. Caroline and Judith do both. yield melanie melanie = users.User( username="******", partner=melanie, profile='110', coaching_type=DSBE, newcomer_consultations=False, newcomer_appointments=False) yield melanie hubert = person(first_name=u"Hubert", last_name=u"Huppertz", email=settings.SITE.demo_email, city=kettenis, country='BE', gender=dd.Genders.male) yield hubert hubert = users.User( username="******", partner=hubert, profile='100', coaching_type=DSBE, newcomer_consultations=True, newcomer_appointments=False) yield hubert alicia = person( first_name=u"Alicia", last_name=u"Allmanns", email=settings.SITE.demo_email, city=kettenis, country='BE', # gender=dd.Genders.female, # don't set gender language='fr') yield alicia alicia = users.User( username="******", partner=alicia, profile='100', coaching_type=DSBE, newcomer_consultations=True, newcomer_appointments=True) yield alicia theresia = person(first_name="Theresia", last_name="Thelen", email=settings.SITE.demo_email, city=eupen, country='BE', gender=dd.Genders.female) yield theresia theresia = users.User(username="******", partner=theresia, profile='210') yield theresia nicolas = users.User(username="******", profile='') yield nicolas # yield Authority(user=alicia, authorized=hubert) # yield Authority(user=alicia, authorized=melanie) # yield Authority(user=hubert, authorized=melanie) yield Authority(user=hubert, authorized=theresia) yield Authority(user=alicia, authorized=theresia) yield Authority(user=melanie, authorized=theresia) caroline = users.User( username="******", first_name="Caroline", last_name="Carnol", profile='200', coaching_type=ASD, newcomer_consultations=True, newcomer_appointments=True) yield caroline obj = person(first_name="Judith", last_name="Jousten", email=settings.SITE.demo_email, city=eupen, country='BE', gender=dd.Genders.female) yield obj judith = users.User( username="******", partner=obj, profile='400', coaching_type=ASD, newcomer_consultations=True, newcomer_appointments=True) yield judith yield users.User( username="******", first_name="Patrick", last_name="Paraneau", profile='910', email=settings.SITE.demo_email) # for obj in pcsw.CoachingType.objects.all(): # yield users.Team(**dd.babelkw('name', **field2kw(obj, 'name'))) obj = cal.GuestRole( # email_template="Visitor.eml.html", **dd.babelkw( 'name', de="Besucher", fr="Visiteur", en="Visitor", et="Külaline", )) yield obj settings.SITE.site_config.update(client_guestrole=obj) yield cal.GuestRole(**dd.babelkw('name', de=u"Vorsitzender", fr=u"Président", en=u"Chairman", et=u"Eesistuja", )) yield cal.GuestRole(**dd.babelkw('name', de=u"Schriftführer", fr=u"Greffier", en=u"Reporter", et=u"Sekretär", )) calendar = Instantiator('cal.EventType').build kw = dict(invite_client=False, is_appointment=False) kw.update(dd.str2kw('name', _("Consultations with client"))) kw.update(dd.str2kw('event_label', _("Consultation"))) # kw.update(dd.babelkw( # 'name', # de="Visiten (ohne Verabredung)", # fr="Consultations sans rendez-vous", # en="Prompt consultation", # et="Külaline", # )) obj = calendar(**kw) yield obj settings.SITE.site_config.update(prompt_calendar=obj) kw = dict(invite_client=True) kw.update(dd.str2kw("name", _("External meetings with client"))) kw.update(dd.str2kw("event_label", _("External meeting"))) yield calendar(**kw) kw = dict(invite_client=True) kw.update(dd.str2kw("name", _("Informational meetings"))) kw.update(dd.str2kw("event_label", _("Informational meeting"))) yield calendar(**kw) kw = dict(invite_client=False) kw.update(dd.str2kw("name", _("Internal meetings"))) kw.update(dd.str2kw("event_label", _("Internal meeting"))) yield calendar(**kw) # yield calendar(**dd.babelkw('name', # de=u"Versammlung intern", # fr=u"Réunions internes", # en=u"Internal meetings")) kw = dict(invite_client=False) kw.update(dd.str2kw("name", _("External meetings"))) kw.update(dd.str2kw("event_label", _("External meeting"))) yield calendar(**kw) # yield calendar(**dd.babelkw('name', # de=u"Versammlung extern", # fr=u"Réunions externes", # en=u"External meetings")) kw = dict(invite_client=False) kw.update(dd.str2kw("name", _("Private"))) yield calendar(**kw) # yield calendar(**dd.babelkw('name', # de="Privat", # fr="Privé", # en="Private")) sector = Instantiator(cv.Sector).build for ln in SECTORS_LIST.splitlines(): if ln: a = ln.split('|') if len(a) == 3: kw = dict(en=a[0], fr=a[1], de=a[2]) yield sector(**dd.babelkw('name', **kw)) horeca = cv.Sector.objects.get(pk=5) function = Instantiator(cv.Function, sector=horeca).build yield function(**dd.babelkw('name', de=u"Kellner", fr=u'Serveur', en=u'Waiter', )) yield function(**dd.babelkw('name', de=u"Koch", fr=u'Cuisinier', en=u'Cook', )) yield function(**dd.babelkw('name', de=u"Küchenassistent", fr=u'Aide Cuisinier', en=u'Cook assistant', )) yield function(**dd.babelkw('name', de=u"Tellerwäscher", fr=u'Plongeur', en=u'Dishwasher', )) contractType = Instantiator(jobs.ContractType, "ref", exam_policy=3).build yield contractType('art60-7a', **dd.babelkw('name', de=u"Sozialökonomie", fr=u'économie sociale', en=u'social economy', )) yield contractType('art60-7b', **dd.babelkw('name', de=u"Sozialökonomie - majoré", fr=u'économie sociale - majoré', en=u'social economy - increased', )) yield contractType('art60-7c', **dd.babelkw('name', de=u"mit Rückerstattung", fr=u'avec remboursement', en=u'social economy with refund', )) yield contractType('art60-7d', **dd.babelkw('name', de=u"mit Rückerstattung Schule", fr=u'avec remboursement école', en=u'social economy school', )) yield contractType('art60-7e', **dd.babelkw('name', de=u"Stadt Eupen", fr=u"ville d'Eupen", en=u'town', )) contractType = Instantiator(isip.ContractType, "ref", exam_policy=1).build yield contractType("vsea", needs_study_type=True, **dd.babelkw( 'name', de=u"VSE Ausbildung", fr=u"VSE Ausbildung", en=u"VSE Ausbildung", )) yield contractType("vseb", **dd.babelkw('name', de=u"VSE Arbeitssuche", fr=u"VSE Arbeitssuche", en=u"VSE Arbeitssuche", )) yield contractType("vsec", **dd.babelkw('name', de=u"VSE Lehre", fr=u"VSE Lehre", en=u"VSE Lehre", )) yield contractType("vsed", needs_study_type=True, **dd.babelkw('name', de=u"VSE Vollzeitstudium", fr=u"VSE Vollzeitstudium", en=u"VSE Vollzeitstudium", )) yield contractType("vsee", **dd.babelkw('name', de=u"VSE Sprachkurs", fr=u"VSE Sprachkurs", en=u"VSE Sprachkurs", )) t = RoleType.objects.get(pk=4) # It manager t.use_in_contracts = False t.save() #~ country = Instantiator('countries.Country',"isocode name").build #~ yield country('SUHH',"Soviet Union") #~ cpas = company(name=u"ÖSHZ Eupen",city=eupen,country=belgium) cpas = company(name=u"ÖSHZ Kettenis", city=kettenis, country=belgium) yield cpas bisa = company(name=u"BISA", city=eupen, country=belgium) yield bisa bisa_dir = role(company=bisa, person=annette, type=1) yield bisa_dir rcycle = company(name=u"R-Cycle Sperrgutsortierzentrum", city=eupen, country=belgium) yield rcycle rcycle_dir = role(company=rcycle, person=andreas, type=1) yield rcycle_dir yield role(company=rcycle, person=erna, type=2) # IT manager : no contracts yield role(company=rcycle, person=ulrike, type=4) yield company(name=u"Die neue Alternative V.o.G.", city=eupen, country=belgium) proaktiv = company(name=u"Pro Aktiv V.o.G.", city=eupen, country=belgium) yield proaktiv proaktiv_dir = role(company=proaktiv, person=hans, type=1) # IT manager : no contracts yield role(company=proaktiv, person=ulrike, type=4) yield proaktiv_dir yield company(name=u"Werkstatt Cardijn V.o.G.", city=eupen, country=belgium) yield company(name=u"Behindertenstätten Eupen", city=eupen, country=belgium) yield company(name=u"Beschützende Werkstätte Eupen", city=eupen, country=belgium) kw = dd.str2kw('name', _("Health insurance")) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium) #~ kw = dict(is_health_insurance=True,country=belgium) yield company(name="Alliance Nationale des Mutualités Chrétiennes", **kw) yield company(name="Mutualité Chrétienne de Verviers - Eupen", **kw) yield company(name="Union Nationale des Mutualités Neutres", **kw) yield company(name="Mutualia - Mutualité Neutre", **kw) yield company(name="Solidaris - Mutualité socialiste et syndicale de la province de Liège", **kw) fkw = dd.str2kw('name', _("Pharmacy")) # Apotheke cct = rt.modules.pcsw.ClientContactType.objects.get(**fkw) kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield company( name="Apotheke Reul", street='Klosterstraße', street_no=20, **kw) yield company( name="Apotheke Schunck", street='Bergstraße', street_no=59, **kw) yield company( name="Pharmacies Populaires de Verviers", street='Aachener Straße', street_no=258, **kw) yield company( name="Bosten-Bocken A", street='Haasstraße', street_no=6, **kw) kw = dd.str2kw('name', _("Advocate")) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield company(name=u"Brüll Christine", street=u'Schilsweg', street_no=4, **kw) yield company(name=u"Brocal Catherine", street=u'Neustraße', street_no=115, **kw) yield company(name=u"Bourseaux Alexandre", street=u'Aachener Straße', street_no=21, **kw) yield company(name=u"Baguette Stéphanie", street=u'Gospertstraße', street_no=24, **kw) # Bailiff = Gerichtsvollzieher = Huissier de justice kw = dd.str2kw('name', _("Bailiff")) if dd.is_installed('debts'): kw.update(is_bailiff=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield company(name="Demarteau Bernadette", street='Aachener Straße', street_no=25, **kw) kw.update(city=stvith) yield company(name="Schmitz Marc", street='Rodter Straße', street_no=43, street_box="B", **kw) # Inkasso-Unternehmen kw = dd.str2kw('name', _("Debt collecting company")) if dd.is_installed('debts'): kw.update(is_bailiff=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield company(name="Cashback sprl", street='Vervierser Straße', street_no=1, **kw) yield company(name="Money Wizard AS", street='Neustraße', street_no=1, **kw) # settings.SITE.site_config.debts_bailiff_type = cct # yield settings.SITE.site_config def person2client(p, **kw): c = mti.insert_child(p, Client) for k, v in kw.items(): setattr(c, k, v) c.client_state = pcsw.ClientStates.coached c.save() return Client.objects.get(pk=p.pk) #~ luc = Person.objects.get(name__exact="Saffre Luc") #~ luc = person2client(luc,national_id = '680601 053-29') #~ luc.birth_place = 'Eupen' #~ luc.birth_date = '1968-06-01' #~ luc.birth_country = be #~ luc.full_clean() #~ luc.save() #~ #~ ly = person(first_name="Ly",last_name="Rumma", #~ city=vigala,country='EE', #~ gender=dd.Genders.female) #~ yield ly #~ mari = person(first_name="Mari",last_name="Saffre", #~ city=vigala,country='EE', #~ gender=dd.Genders.female) #~ yield mari #~ iiris = person(first_name="Iiris",last_name="Saffre", #~ city=vigala,country='EE', #~ gender=dd.Genders.female) #~ yield iiris gerd = person(first_name="Gerd", last_name="Gerkens", city=kettenis, email=settings.SITE.demo_email, # '*****@*****.**' country='BE', gender=dd.Genders.male) yield gerd yield role(company=cpas, person=gerd, type=4) # see :blogentry:`20111007` tatjana = client( first_name=u"Tatjana", last_name=u"Kasennova", #~ first_name=u"Татьяна",last_name=u"Казеннова", city=kettenis, country='BE', #~ national_id='1237', birth_place="Moskau", # birth_country='SUHH', client_state=pcsw.ClientStates.newcomer, #~ newcomer=True, gender=dd.Genders.female) yield tatjana michael = Person.objects.get(name__exact="Mießen Michael") jean = Person.objects.get(name__exact="Radermacher Jean") #~ yield cpas sc = settings.SITE.site_config sc.site_company = cpas sc.signer1 = michael sc.signer2 = jean yield sc yield role(company=cpas, person=michael, type=sc.signer1_function) yield role(company=cpas, person=jean, type=sc.signer2_function) bernard = Person.objects.get(name__exact="Bodard Bernard") kw = dd.str2kw('name', _("Employment office")) # Arbeitsvermittler cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) adg = company(name=u"Arbeitsamt der D.G.", **kw) adg.save() yield adg settings.SITE.site_config.job_office = adg yield settings.SITE.site_config adg_dir = role(company=adg, person=bernard, type=1) yield adg_dir kw = dd.str2kw('name', _("Physician")) # Arzt if dd.is_installed('aids'): kw.update(can_refund=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield person(first_name="Waltraud", last_name="Waldmann", **kw) kw = dd.str2kw('name', _("Family doctor")) # Hausarzt if dd.is_installed('aids'): kw.update(can_refund=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen) yield person(first_name="Werner", last_name="Wehnicht", **kw) kw = dd.str2kw('name', _("Dentist")) if dd.is_installed('aids'): kw.update(can_refund=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen, title="Dr.") yield person(first_name="Carmen", last_name="Castou", **kw) yield person(first_name="Walter", last_name="Waldmann", **kw) kw = dd.str2kw('name', _("Pediatrician")) if dd.is_installed('aids'): kw.update(can_refund=True) cct = ClientContactType(**kw) yield cct kw = dict(client_contact_type=cct, country=belgium, city=eupen, title="Dr.") yield person(first_name="Killian", last_name="Kimmel", **kw) # kw = dd.str2kw('name', _("Landlord")) # Vermieter # if dd.is_installed('aids'): # kw.update(can_refund=True) # cct = ClientContactType(**kw) # yield cct # kw = dict(client_contact_type=cct, country=belgium, city=eupen) # yield person(first_name="Vera", last_name="Veltz", **kw) # yield person(first_name="Vanessa", last_name="Veithen", **kw) #~ from django.core.exceptions import ValidationError # ~ # a circular reference: bernard is contact for company adg and also has himself as `job_office_contact` #~ try: #~ bernard.job_office_contact = adg_dir #~ bernard.clean() #~ bernard.save() #~ except ValidationError: #~ pass #~ else: #~ raise Exception("Expected ValidationError") DIRECTORS = (annette, hans, andreas, bernard) #~ USERS = Cycler(root,melanie,hubert,alicia) AGENTS = Cycler(melanie, hubert, alicia, judith) COACHINGTYPES = Cycler(pcsw.CoachingType.objects.filter( does_gss=False, does_integ=False)) #~ CLIENTS = Cycler(andreas,annette,hans,ulrike,erna,tatjana) count = 0 #~ for person in Person.objects.filter(gender__isnull=False): for person in Person.objects.exclude(gender=''): if not person.birth_date: # not those from humanlinks if users.User.objects.filter(partner=person).count() == 0: if contacts.Role.objects.filter(person=person).count() == 0: birth_date = settings.SITE.demo_date(-170 * count - 16 * 365) national_id = generate_ssin(birth_date, person.gender) client = person2client(person, national_id=national_id, birth_date=birth_date) # youngest client is 16; 170 days between each client count += 1 if count % 2: client.client_state = pcsw.ClientStates.coached elif count % 5: client.client_state = pcsw.ClientStates.newcomer else: client.client_state = pcsw.ClientStates.former # Dorothée is three times in our database if client.first_name == "Dorothée": client.national_id = None client.birth_date = '' client.full_clean() client.save() #~ CLIENTS = Cycler(Client.objects.filter(is_active=True,newcomer=False)) CLIENTS = Cycler( Client.objects.filter(client_state=pcsw.ClientStates.coached)) #~ oshz = Company.objects.get(name=u"ÖSHZ Eupen") #~ project = Instantiator('projects.Project').build #~ note = Instantiator('notes.Note').build langk = Instantiator('cv.LanguageKnowledge').build #~ prj = project(name="Testprojekt",company=oshz) #~ yield prj #~ yield note(user=user,project=prj,date=i2d(20091006),subject="Programmierung",company=oshz) #~ prj = project(name="Testprojekt",company=oshz) #~ yield prj #~ yield note(user=user,project=prj,date=i2d(20091007),subject="Anschauen",company=oshz) Note = resolve_model('notes.Note') USERS = Cycler(users.User.objects.all()) SUBJECTS = Cycler(u""" Erstgespräch Versammlung beim AG Zwischenbericht Krisensitzung """.splitlines()) for i in range(10): yield Note(user=USERS.pop(), date=settings.SITE.demo_date(days=i), subject=SUBJECTS.pop()) schule = StudyType.objects.get(pk=1) # uni = StudyType.objects.get(pk=4) abi = u"Abitur" study = Instantiator('cv.Study').build gerd = CLIENTS.pop() luc = CLIENTS.pop() ly = CLIENTS.pop() mari = CLIENTS.pop() iiris = CLIENTS.pop() luc.card_number = '591413288107' luc.card_valid_from = i2d(20110819) luc.card_valid_until = i2d(20160819) luc.card_issuer = "Eupen" luc.card_type = BeIdCardTypes.belgian_citizen luc.save() luc.make_demo_picture() gerd.card_number = '123456789012' gerd.card_valid_from = i2d(20120819) gerd.card_valid_until = i2d(20130818) gerd.card_issuer = "Eupen" gerd.card_type = BeIdCardTypes.foreigner_c gerd.save() gerd.make_demo_picture() yield study(person=luc, type=schule, content=abi, start_date='19740901', end_date='19860630') yield study(person=gerd, type=schule, content=abi, start_date='19740901', end_date='19860630') yield langk(person=luc, language='ger', written='4', spoken='4') yield langk(person=gerd, language='ger', written='4', spoken='4') yield langk(person=mari, language='ger', written='2', spoken='4') yield langk(person=iiris, language='ger', written='0', spoken='4') yield langk(person=ly, language='ger', written='2', spoken='1') yield langk(person=luc, language='fre', written='4', spoken='3') yield langk(person=gerd, language='fre', written='4', spoken='3') yield langk(person=luc, language='eng', written='4', spoken='3') yield langk(person=gerd, language='eng', written='4', spoken='3') yield langk(person=ly, language='eng', written='3', spoken='3') yield langk(person=gerd, language='dut', written='3', spoken='3') yield langk(person=luc, language='est', written='3', spoken='3') yield langk(person=ly, language='est', written='4', spoken='4') yield langk(person=mari, language='est', written='3', spoken='4') yield langk(person=iiris, language='est', written='0', spoken='3') jobtype = Instantiator(jobs.JobType, 'name').build art607 = jobtype(u'Sozialwirtschaft = "majorés"') yield art607 yield jobtype(u'Intern') yield jobtype(u'Extern (Öffentl. VoE mit Kostenrückerstattung)') yield jobtype(u'Extern (Privat Kostenrückerstattung)') #~ yield jobtype(u'VSE') yield jobtype(u'Sonstige') rcycle = mti.insert_child(rcycle, jobs.JobProvider) yield rcycle bisa = mti.insert_child(bisa, jobs.JobProvider) yield bisa proaktiv = mti.insert_child(proaktiv, jobs.JobProvider) yield proaktiv # jobs (Art.60-7) CSTATES = Cycler(jobs.CandidatureStates.objects()) JOBS_CONTRACT_TYPES = Cycler(jobs.ContractType.objects.all()) JTYPES = Cycler(jobs.JobType.objects.all()) PROVIDERS = Cycler(jobs.JobProvider.objects.all()) SECTORS = Cycler(cv.Sector.objects.all()) FUNCTIONS = Cycler(cv.Function.objects.all()) REMARKS = Cycler( _("A very hard job."), '', _("No supervisor. Only for independent people."), '', '', '') for i in range(8): f = FUNCTIONS.pop() yield jobs.Job(provider=PROVIDERS.pop(), type=JTYPES.pop(), contract_type=JOBS_CONTRACT_TYPES.pop(), name=unicode(f), remark=REMARKS.pop(), sector=SECTORS.pop(), function=f) JOBS = Cycler(jobs.Job.objects.all()) for i in range(40): yield jobs.Candidature(job=JOBS.pop(), person=CLIENTS.pop(), state=CSTATES.pop(), date_submitted=settings.SITE.demo_date(-40 + i)) # reset SECTORS and FUNCTIONS SECTORS = Cycler(cv.Sector.objects.all()) FUNCTIONS = Cycler(cv.Function.objects.all()) obj = jobs.Offer( name="Übersetzer DE-FR (m/w)", remark="""\ Wir sind auf der Suche nach einem Deutsch-Französich Übersetzer (M/F) um einen Selbständigenr zu Geschäftsessen und kommerziellen Termine zu begleiten. Sie übernehmen die Übersetzung von Gespräche während kommerziellen Kontakte mit deutschen Kunden. Es ist spontane und pünktliche Aufträge, den ganzen Tag, in Eupen und/oder Deutschland. Regelmäßigkeit: 1-2 Mal pro Monat, je nach Bedarf. Flexibilität: die Termine sind je nach Kandidat anpassbar.""", provider=PROVIDERS.pop(), selection_from=settings.SITE.demo_date(-120), selection_until=settings.SITE.demo_date(-20), start_date=settings.SITE.demo_date(10), sector=SECTORS.pop(), function=FUNCTIONS.pop()) yield obj # reset SECTORS and FUNCTIONS SECTORS = Cycler(cv.Sector.objects.all()) FUNCTIONS = Cycler(cv.Function.objects.all()) for i in range(30): yield jobs.Candidature( person=CLIENTS.pop(), state=CSTATES.pop(), date_submitted=settings.SITE.demo_date(-20 + i * 2), sector=SECTORS.pop(), function=FUNCTIONS.pop(), ) COUNTRIES = Cycler(countries.Country.objects.all()) COMPANIES = Cycler(Company.objects.all()) # reset SECTORS and FUNCTIONS SECTORS = Cycler(cv.Sector.objects.all()) FUNCTIONS = Cycler(cv.Function.objects.all()) DURATIONS = Cycler([1, 2, 3, 6, 6, 9, 12, 12, 24, 24]) # months STATES = Cycler(cv.EducationEntryStates.items()) for i in range(30): start_date = settings.SITE.demo_date(-1200 + i * 2) d = DURATIONS.pop() end_date = DurationUnits.months.add_duration(start_date, d) yield cv.Experience( person=CLIENTS.pop(), company=COMPANIES.pop(), country=COUNTRIES.pop(), start_date=start_date, end_date=end_date, sector=SECTORS.pop(), function=FUNCTIONS.pop(), ) TRAINING_TYPES = Cycler(cv.StudyType.objects.filter(is_training=True)) for i in range(20): start_date = settings.SITE.demo_date(-1200 + i * 2) d = DURATIONS.pop() end_date = DurationUnits.months.add_duration(start_date, d) yield cv.Training( person=CLIENTS.pop(), type=TRAINING_TYPES.pop(), school=SCHOOLS.pop(), country=COUNTRIES.pop(), start_date=start_date, end_date=end_date, sector=SECTORS.pop(), function=FUNCTIONS.pop(), state=STATES.pop(), ) STUDY_TYPES = Cycler(cv.StudyType.objects.filter(is_study=True)) EDULEVELS = Cycler(cv.EducationLevel.objects.all()) for i in range(20): start_date = settings.SITE.demo_date(-1200 + i * 2) d = DURATIONS.pop() end_date = DurationUnits.months.add_duration(start_date, d) yield cv.Study( person=CLIENTS.pop(), type=STUDY_TYPES.pop(), school=SCHOOLS.pop(), country=COUNTRIES.pop(), start_date=start_date, end_date=end_date, state=STATES.pop(), education_level=EDULEVELS.pop(), ) #~ baker = Properties.objects.get(pk=1) #~ baker.save() #~ yield baker """ Distribute properties to persons. The distribution should be "randomly", but independant of site's language setting. """ for i, p in enumerate(Client.objects.all()): if i % 2: country = belgium else: country = COUNTRIES.pop() p.birth_country_id = country p.nationality_id = country if i % 3: p.languageknowledge_set.create( language_id='eng', written='3', spoken='3') elif i % 5: p.languageknowledge_set.create( language_id='eng', written='4', spoken='4') if p.zip_code == '4700': p.languageknowledge_set.create(language_id='ger', native=True) if i % 2: p.languageknowledge_set.create( language_id='fre', written='2', spoken='2') p.is_cpas = True #~ p.is_active = True #~ p.client_state = pcsw.ClientStates.coached #~ p.native_language_id = 'ger' p.save() for short_code, isocode in ( ('B', 'BE'), ('D', 'DE'), ('F', 'FR'), ): c = countries.Country.objects.get(pk=isocode) c.short_code = short_code c.save() i = pcsw.Client.objects.order_by('name').__iter__() p = i.next() offset = 0 for f in cv.Function.objects.all(): yield jobs.Candidature(person=p, function=f, sector=f.sector, #~ date_submitted=i2d(20111019)) date_submitted=settings.SITE.demo_date(offset)) p = i.next() offset -= 1 PERSONGROUPS = Cycler(pcsw.PersonGroup.objects.all()) AGENTS_SCATTERED = Cycler( alicia, hubert, melanie, caroline, hubert, melanie, hubert, melanie) ENDINGS = Cycler(pcsw.CoachingEnding.objects.all()) for client in pcsw.Client.objects.all(): story = COACHING_STORIES.get(client.client_state) if story: if not client.group: client.group = PERSONGROUPS.pop() PERSONGROUPS.pop() # ~ for i in range(5-client.group.id): PERSONGROUPS.pop() # client.save() periods = story.pop() type = COACHINGTYPES.pop() for a, b, primary, ct in periods: if ct == CT_OTHER: type = COACHINGTYPES.pop() elif ct == CT_GSS: type = ASD elif ct == CT_INTEG: type = DSBE kw = dict(client=client, user=AGENTS_SCATTERED.pop(), type=type, primary=primary) if a is not None: kw.update(start_date=settings.SITE.demo_date(a)) if b is not None: kw.update(end_date=settings.SITE.demo_date(b)) kw.update(ending=ENDINGS.pop()) yield pcsw.Coaching(**kw) # every 10th partner is obsolete for i, p in enumerate(contacts.Partner.objects.all()): if i % 10 == 0: p.is_obsolete = True p.save() # The reception desk opens at 8am. 20 visitors have checked in, # half of which RECEPTION_CLIENTS = Cycler(reception.Clients.request(user=theresia)) REASONS = Cycler(_("Urgent problem"), '', _("Complain"), _("Information")) today = settings.SITE.demo_date() now = datetime.datetime(today.year, today.month, today.day, 8, 0) for i in range(1, 20): obj = RECEPTION_CLIENTS.pop() now += datetime.timedelta(minutes=3 * i, seconds=3 * i) obj = reception.create_prompt_event( obj, obj, AGENTS.pop(), REASONS.pop(), settings.SITE.site_config.client_guestrole, now) yield obj # TODO: the following possibly causes more than one busy guest per # agent. qs = cal.Guest.objects.filter(waiting_since__isnull=False) busy_agents = set() for i, obj in enumerate(qs): busy_since = obj.waiting_since + \ datetime.timedelta(minutes=2 * i, seconds=2 * i) if i % 3 == 0: obj.gone_since = busy_since + \ datetime.timedelta(minutes=2 * i, seconds=3 * i) obj.state = cal.GuestStates.gone elif not obj.event.user in busy_agents: obj.busy_since = busy_since obj.state = cal.GuestStates.busy busy_agents.add(obj.event.user) yield obj Calendar = dd.resolve_model('cal.Calendar') COLORS = Cycler(Calendar.COLOR_CHOICES) for u in settings.SITE.user_model.objects.exclude(profile=None): obj = Calendar(name=u.username, color=COLORS.pop()) yield obj u.calendar = obj u.save() # create a primary ClientAddress for each Client. # no longer needed. done by plausibility.fixtures.demo2 # for obj in settings.SITE.modules.contacts.Partner.objects.all(): # obj.repairdata() # have partners speak different languages # most partners speak first language if len(settings.SITE.languages): ld = [] # language distribution ld = [settings.SITE.languages[0].django_code] * 10 if len(settings.SITE.languages) > 1: ld += [settings.SITE.languages[1].django_code] * 3 if len(settings.SITE.languages) > 2: ld += [settings.SITE.languages[2].django_code] LANGS = Cycler(ld) for obj in settings.SITE.modules.contacts.Partner.objects.all(): obj.language = LANGS.pop() obj.save()
def objects(self): PlaceTypes = rt.models.countries.PlaceTypes ProductCat = rt.models.products.ProductCat # yield PupilType(ref="M", name="Liige") # yield PupilType(ref="H", name="Abistaja") # yield PupilType(ref="L", name="Muu") yield TeacherType(ref="IN", **dd.str2kw('name', _("Independant"))) yield TeacherType(ref="VL", **dd.str2kw('name', _("Voluntary"))) yield TeacherType(ref="ETC", **dd.str2kw('name', _("Other"))) company = Instantiator('contacts.Company', 'name city:name').build tallinn = PlaceTypes.town.find("Tallinn") tartu = PlaceTypes.town.find("Tartu") rapla = PlaceTypes.town.find("Rapla") parnu = PlaceTypes.town.find("Pärnu") we = company("Juku õpib MTÜ", tallinn, street="Tartu mnt", street_no=2) yield we settings.SITE.site_config.site_company = we yield settings.SITE.site_config # productcat = Instantiator('products.ProductCat').build course_fees = ProductCat(**dd.str2kw('name', _("Participation fees"))) yield course_fees trips = ProductCat(**dd.str2kw('name', _("Trips"))) # et="Väljasõidud", de="Ausflüge", fr="Excursions")) yield trips kw = dd.str2kw('name', _("Journeys")) self.journeys_cat = ProductCat(**kw) yield self.journeys_cat self.journey_fee = Product(cat=self.journeys_cat, **kw) yield self.journey_fee rent = ProductCat(**dd.str2kw('name', _("Room renting"))) # et="Ruumiüür", de="Raummiete", fr="Loyer")) yield rent # other = ProductCat(**dd.str2kw('name', _("Other"))) # et="Muud", de="Sonstige", fr="Autres")) # yield other product = Instantiator( 'products.Product', "sales_price cat name").build yield product("20", course_fees, "20€") yield product("50", course_fees, "50€") yield product("80", course_fees, "80€") rent20 = product("20", rent, "Spiegelraum Eupen") yield rent20 rent10 = product( "10", rent, **dd.str2kw('name', _("Rent per meeting"))) yield rent10 self.PRICES = Cycler(Product.objects.filter(cat=course_fees)) event_type = Instantiator('cal.EventType').build kw = dd.str2kw('name', _("Courses")) kw.update(dd.str2kw('event_label', _("Hour"))) self.kurse = event_type(**kw) yield self.kurse settings.SITE.site_config.default_event_type = self.kurse yield settings.SITE.site_config self.seminare = event_type(**dd.str2kw('name', _("Seminars"))) yield self.seminare yield event_type(**dd.str2kw('name', _("Excursions"))) yield event_type(**dd.str2kw('name', _("Hikes"))) yield event_type(**dd.str2kw('name', _("Meetings"))) yield event_type( email_template='Team.eml.html', **dd.str2kw('name', _("Team Meetings"))) company = Instantiator('contacts.Company', 'name city:name').build eupen = company("Rüütli õpekeskus", tallinn, street="Rüütli", street_no=39, street_box="/B2") yield eupen bbach = company("Õpekeskus", tallinn) yield bbach kelmis = company("Ülikooli", tartu) yield kelmis stvith = company("Spordi- ja vabaajakeskus", rapla) yield stvith self.ext1 = company("AA Neudorf", tartu) yield self.ext1 self.ext2 = company("Nisperter Schützenverein", parnu) yield self.ext2 room = Instantiator('cal.Room').build kw = dict(company=eupen) kw.update(dd.str2kw('name', _("Mirrored room"))) kw.update(fee=rent20) self.spiegel = room(**kw) yield self.spiegel kw.update(dd.str2kw('name', _("Computer room"))) kw.update(fee=rent10) self.pc_eupen = room(**kw) yield self.pc_eupen kw = dict(company=bbach) kw.update(dd.str2kw('name', _("Conferences room"))) self.konf = room(**kw) yield self.konf kw.update(dd.str2kw('name', _("Computer room"))) self.pc_bbach = room(**kw) yield self.pc_bbach kw = dict(company=kelmis) kw.update(dd.str2kw('name', _("Computer room"))) self.pc_kelmis = room(**kw) yield self.pc_kelmis kw = dict(company=stvith) kw.update(dd.str2kw('name', _("Computer room"))) self.pc_stvith = room(**kw) yield self.pc_stvith COLORS = Cycler(Calendar.COLOR_CHOICES) for u in Room.objects.all(): obj = Calendar(name=str(u), color=COLORS.pop()) yield obj #~ logger.info("20131018 %s", obj) u.calendar = obj u.save()
def objects(self): yield super(Loader2, self).objects() topic = Instantiator('courses.Topic').build line = Instantiator('courses.Line', 'topic event_type fee').build course = Instantiator( 'courses.Course', 'line room start_time end_time').build booking = Instantiator( 'rooms.Booking', 'room start_time end_time').build TEACHERS = Cycler(Teacher.objects.all()) COMPANIES = Cycler(Company.objects.all()) USERS = Cycler(settings.SITE.user_model.objects.all()) def add_course(*args, **kw): kw.update(user=USERS.pop()) kw.update(teacher=TEACHERS.pop()) #~ kw.update(price=PRICES.pop()) return course(*args, **kw) Product = rt.models.products.Product ProductCat = rt.models.products.ProductCat journey_options = ProductCat(**dd.str2kw( 'name', _("Hotel options"))) yield journey_options option = Instantiator(Product, cat=journey_options).build yield option(**dd.str2kw('name', _("Single room"))) yield option(**dd.str2kw('name', _("Double room"))) yield option(**dd.str2kw('name', _("Triple room"))) # yield option(**dd.str2kw('name', _("Shower"))) # yield option(**dd.str2kw('name', _("Night club"))) # trip_options = ProductCat(**dd.str2kw('name', _("Trip options"))) # yield trip_options # option = Instantiator(Product, cat=trip_options).build # yield option(name="Eupen Oberstadt") # yield option(name="Eupen Unterstadt") # yield option(name="Raeren") # yield option(name="Kelmis") # yield option(name="Büllingen") journey = Instantiator( 'courses.Course', 'line name start_date end_date').build def add_journey(*args, **kw): kw.update(user=USERS.pop()) kw.update(teacher=TEACHERS.pop()) return journey(*args, **kw) self.journeys_topic = topic(**dd.str2kw('name', _("Journeys"))) yield self.journeys_topic europe = line(self.journeys_topic, None, self.journey_fee, options_cat=journey_options, **dd.str2kw('name', _("Europe"))) yield europe yield add_journey(europe, "Griechenland 2014", i2d(20140814), i2d(20140820)) yield add_journey(europe, "London 2014", i2d(20140714), i2d(20140720)) comp = topic(name="Computer") yield comp sport = topic(name="Sport") yield sport medit = topic(name="Meditation") yield medit externe = topic(name="Externe") yield externe obj = line(comp, self.kurse, self.PRICES.pop(), ref="comp", **dd.str2kw('name', _("First Steps"))) yield obj kw = dict(max_events=8) kw.update(max_places=20) kw.update(start_date=demo_date(-30)) kw.update(state=courses.CourseStates.active) kw.update(every=1) kw.update(every_unit=cal.Recurrencies.weekly) yield add_course(obj, self.pc_bbach, "13:30", "15:00", monday=True, **kw) yield add_course(obj, self.pc_eupen, "17:30", "19:00", wednesday=True, **kw) yield add_course(obj, self.pc_kelmis, "13:30", "15:00", friday=True, **kw) desc = """ Behandelte Themengebiete: - Grundlagen, Voraussetzungen - Arbeiten im WWW unter Verwendung eines Browsers - Navigieren im WWW - Links in die Linkleiste legen - aus Webseiten heraus drucken - Favoriten bzw. Lesezeichen verwenden - Aufgabe und Funktionsweise von Suchmaschinen - Elektronische Post: E-Mails verfassen, senden, empfangen, beantworten - E-Mails mit Anlagen - E-mail Sicherheit - Tipps und Tricks """ obj = line( comp, self.kurse, self.PRICES.pop(), ref="WWW", description=desc, **dd.str2kw( 'name', _("Internet for beginners"))) yield obj kw = dict(max_events=8) kw.update(start_date=demo_date(10)) kw.update(state=courses.CourseStates.active) yield add_course(obj, self.pc_bbach, "13:30", "15:00", monday=True, **kw) yield add_course(obj, self.pc_eupen, "17:30", "19:00", wednesday=True, **kw) yield add_course(obj, self.pc_kelmis, "13:30", "15:00", friday=True, **kw) obj = line(sport, self.kurse, self.PRICES.pop(), **dd.str2kw('name', _("Belly dancing"))) yield obj kw = dict(max_events=8) kw.update(max_places=10) kw.update(start_date=demo_date(20)) kw.update(state=CourseStates.active) yield add_course(obj, self.spiegel, "19:00", "20:00", wednesday=True, **kw) obj = line(sport, self.kurse, self.PRICES.pop(), **dd.str2kw('name', _("Functional gymnastics"))) yield obj kw = dict(max_events=10, state=CourseStates.active) kw.update(start_date=demo_date(-10)) yield add_course(obj, self.spiegel, "11:00", "12:00", monday=True, **kw) yield add_course(obj, self.spiegel, "13:30", "14:30", monday=True, **kw) obj = line(sport, self.kurse, self.PRICES.pop(), **dd.str2kw('name', _("Swimming"))) yield obj kw = dict(max_events=10, state=CourseStates.active) kw.update(start_date=demo_date(-100)) yield add_course(obj, self.spiegel, "11:00", "12:00", monday=True, **kw) yield add_course(obj, self.spiegel, "13:30", "14:30", monday=True, **kw) yield add_course(obj, self.pc_stvith, "11:00", "12:00", tuesday=True, **kw) yield add_course(obj, self.pc_stvith, "13:30", "14:30", tuesday=True, **kw) yield add_course(obj, self.pc_kelmis, "11:00", "12:00", thursday=True, **kw) yield add_course(obj, self.pc_kelmis, "13:30", "14:30", thursday=True, **kw) obj = line(sport, self.kurse, self.PRICES.pop(), **dd.str2kw('name', "Self-defence")) yield obj kw = dict(max_events=6) kw.update(max_places=12) kw.update(start_date=demo_date(-80)) kw.update(state=CourseStates.active) yield add_course(obj, self.spiegel, "18:00", "19:00", friday=True, **kw) yield add_course(obj, self.spiegel, "19:00", "20:00", friday=True, **kw) obj = line(medit, self.kurse, self.PRICES.pop(), ref="GLQ", name="GuoLin-Qigong") yield obj kw = dict(max_events=10) kw.update(start_date=demo_date(-10)) kw.update(state=CourseStates.active) yield add_course(obj, self.spiegel, "18:00", "19:30", monday=True, **kw) yield add_course(obj, self.spiegel, "19:00", "20:30", friday=True, **kw) obj = line(medit, self.kurse, self.PRICES.pop(), ref="MED", **dd.str2kw('name', _("Finding your inner peace"))) yield obj kw = dict(max_events=10) kw.update(max_places=30) kw.update(start_date=demo_date(-10)) kw.update(state=CourseStates.active) yield add_course(obj, self.konf, "18:00", "19:30", monday=True, **kw) yield add_course(obj, self.konf, "19:00", "20:30", friday=True, **kw) obj = line(medit, self.kurse, self.PRICES.pop(), name="Yoga") yield obj kw = dict(max_events=10) kw.update(start_date=demo_date(60)) kw.update(state=CourseStates.active) yield add_course(obj, self.konf, "18:00", "19:30", monday=True, **kw) yield add_course(obj, self.konf, "19:00", "20:30", friday=True, **kw) EXTS = Cycler(self.ext1, self.ext2) def add_booking(*args, **kw): kw.update(user=USERS.pop()) kw.update(event_type=self.seminare) #~ kw.update(price=PRICES.pop()) #~ kw.update(tariff=PRICES.pop()) #~ kw.update(calendar=self.kurse) kw.update(every=1) kw.update(company=EXTS.pop()) return booking(*args, **kw) #~ obj = line(externe,self.kurse,PRICES.pop(),**dd.babelkw('name', #~ de="Raumbuchung",en="Room booking")) #~ yield obj kw = dict(max_events=10) kw.update(every_unit=cal.Recurrencies.weekly) kw.update(start_date=demo_date(60)) kw.update(state=BookingStates.registered) kw.update(company=COMPANIES.pop()) yield add_booking(self.konf, "20:00", "22:00", tuesday=True, **kw) kw.update(company=COMPANIES.pop()) yield add_booking(self.konf, "20:00", "22:00", thursday=True, **kw) kw = dict(max_events=1) kw.update(every_unit=cal.Recurrencies.once) kw.update(company=COMPANIES.pop()) kw.update(every_unit=cal.Recurrencies.once) yield add_booking(self.konf, "10:00", "14:00", **kw) PUPILS = Cycler(Pupil.objects.all()) #~ print 20130712, Pupil.objects.all() COURSES = Cycler(Course.objects.filter(line__fee__isnull=False)) STATES = Cycler(EnrolmentStates.objects()) for i in range(100): kw = dict( user=USERS.pop(), course=COURSES.pop(), pupil=PUPILS.pop()) kw.update(request_date=demo_date(-i)) kw.update(state=STATES.pop()) #~ print 20130712, kw yield Enrolment(**kw) #~ ses = settings.SITE.login('rolf') ses = settings.SITE.login() for model in (Course, Booking): for obj in model.objects.all(): rc = ses.run(obj.do_update_events) if not rc.get('success', False): raise Exception("update_reminders on %s returned %s" % (obj, rc))
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 objects(): if settings.SITE.get_language_info('de'): munich = 'München' else: munich = 'Munich' # en, fr if settings.SITE.get_language_info('fr'): kelmis = 'La Calamine' else: kelmis = 'Kelmis' # en, de company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='EE').build yield company('Rumma & Ko OÜ', '10115', 'Tallinn', 'Tartu mnt', '71') company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='BE').build yield company('Bäckerei Ausdemwald', '4700', 'Eupen', 'Vervierser Straße', '45') yield company('Bäckerei Mießen', '4700', 'Eupen', 'Gospert', '103') yield company('Bäckerei Schmitz', '4700', 'Eupen', 'Aachener Straße', '53') yield company('Garage Mergelsberg', '4720', kelmis, 'Kasinostraße', '13') company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='NL').build yield company('Donderweer BV', '4816 AR', 'Breda', 'Edisonstraat', '12') yield company('Van Achter NV', '4836 LG', 'Breda', 'Hazeldonk', '2') company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='DE').build yield company('Hans Flott & Co', '22453', 'Hamburg', 'Niendorfer Weg', '532') yield company('Bernd Brechts Bücherladen', '80333', munich, 'Brienner Straße', '18') yield company('Reinhards Baumschule', '12487 ', 'Berlin', 'Segelfliegerdamm', '123') company = Instantiator('contacts.Company', "name zip_code city:name street street_no", country='FR').build yield company('Moulin Rouge', '75018', 'Paris', 'Boulevard de Clichy', '82') yield company('Auto École Verte', '54000 ', 'Nancy', 'rue de Mon Désert', '12') Place = dd.resolve_model('countries.Place') eupen = Place.objects.get(name__exact='Eupen') person = Instantiator("contacts.Person", "first_name last_name", country='BE', city=eupen, zip_code='4700').build yield person('Andreas', 'Arens', gender=dd.Genders.male) yield person('Annette', 'Arens', gender=dd.Genders.female) yield person('Hans', 'Altenberg', gender=dd.Genders.male) yield person('Alfons', 'Ausdemwald', gender=dd.Genders.male) yield person('Laurent', 'Bastiaensen', gender=dd.Genders.male) yield person('Charlotte', 'Collard', gender=dd.Genders.female) yield person('Ulrike', 'Charlier', gender=dd.Genders.female) yield person('Marc', 'Chantraine', gender=dd.Genders.male) yield person('Daniel', 'Dericum', gender=dd.Genders.male) yield person('Dorothée', 'Demeulenaere', gender=dd.Genders.female) yield person('Dorothée', 'Dobbelstein-Demeulenaere', gender=dd.Genders.female) yield person('Dorothée', 'Dobbelstein', gender=dd.Genders.female) yield person('Berta', 'Ernst', gender=dd.Genders.female) yield person('Bernd', 'Evertz', gender=dd.Genders.male) yield person('Eberhart', 'Evers', gender=dd.Genders.male) yield person('Daniel', 'Emonts', gender=dd.Genders.male) yield person('Edgar', 'Engels', gender=dd.Genders.male) yield person('Luc', 'Faymonville', gender=dd.Genders.male) yield person('Germaine', 'Gernegroß', gender=dd.Genders.female) yield person('Gregory', 'Groteclaes', gender=dd.Genders.male) yield person('Hildegard', 'Hilgers', gender=dd.Genders.female) yield person('Henri', 'Hilgers', gender=dd.Genders.male) yield person('Irene', 'Ingels', gender=dd.Genders.female) yield person('Jérémy', 'Jansen', gender=dd.Genders.male) yield person('Jacqueline', 'Jacobs', gender=dd.Genders.female) yield person('Johann', 'Johnen', gender=dd.Genders.male) yield person('Josef', 'Jonas', gender=dd.Genders.male) yield person('Jan', 'Jousten', gender=dd.Genders.male) yield person('Karl', 'Kaivers', gender=dd.Genders.male) yield person('Guido', 'Lambertz', gender=dd.Genders.male) yield person('Laura', 'Laschet', gender=dd.Genders.female) yield person('Line', 'Lazarus', gender=dd.Genders.female) yield person('Josefine', 'Leffin', gender=dd.Genders.female) yield person('Marc', 'Malmendier', gender=dd.Genders.male) yield person('Melissa', 'Meessen', gender=dd.Genders.female) yield person('Michael', 'Mießen', gender=dd.Genders.male) yield person('Marie-Louise', 'Meier', gender=dd.Genders.female) raeren = Place.objects.get(name__exact='Raeren') person = Instantiator("contacts.Person", "first_name last_name", country='BE', language=settings.SITE.DEFAULT_LANGUAGE.django_code, city=raeren, zip_code='4730').build yield person('Erich', 'Emonts', gender=dd.Genders.male) yield person('Erwin', 'Emontspool', gender=dd.Genders.male) yield person('Erna', 'Emonts-Gast', gender=dd.Genders.female) yield person('Alfons', 'Radermacher', gender=dd.Genders.male) yield person('Berta', 'Radermacher', gender=dd.Genders.female) yield person('Christian', 'Radermacher', gender=dd.Genders.male) yield person('Daniela', 'Radermacher', gender=dd.Genders.female) yield person('Edgard', 'Radermacher', gender=dd.Genders.male) yield person('Fritz', 'Radermacher', gender=dd.Genders.male) yield person('Guido', 'Radermacher', gender=dd.Genders.male) yield person('Hans', 'Radermacher', gender=dd.Genders.male) yield person('Hedi', 'Radermacher', gender=dd.Genders.female) yield person('Inge', 'Radermacher', gender=dd.Genders.female) yield person('Jean', 'Radermacher', gender=dd.Genders.male) # special challenges for alphabetic ordering yield person('Didier', 'di Rupo', gender=dd.Genders.male) yield person('David', 'da Vinci', gender=dd.Genders.male) yield person('Vincent', 'van Veen', gender=dd.Genders.male) yield person('Õie', 'Õunapuu', gender=dd.Genders.female) yield person('Otto', 'Östges', gender=dd.Genders.male) yield person('Erna', 'Ärgerlich', gender=dd.Genders.female) person = Instantiator("contacts.Person", country='BE', city=Place.objects.get(name__exact='Angleur')).build yield person(first_name='Bernard', last_name='Bodard', title='Dr.') yield person(first_name='Jean', last_name='Dupont') person = Instantiator( "contacts.Person", country='NL', city=Place.objects.get(name__exact='Amsterdam')).build yield person(first_name='Mark', last_name='Martelaer', gender=dd.Genders.male) yield person(first_name='Rik', last_name='Radermecker', gender=dd.Genders.male) yield person(first_name='Marie-Louise', last_name='Vandenmeulenbos', gender=dd.Genders.female) person = Instantiator("contacts.Person", country='DE').build yield person(first_name='Emil', last_name='Eierschal', gender=dd.Genders.male) yield person(first_name='Lisa', last_name='Lahm', gender=dd.Genders.female) yield person(first_name='Bernd', last_name='Brecht', gender=dd.Genders.male) yield person(first_name='Karl', last_name='Keller', gender=dd.Genders.male) person = Instantiator("contacts.Person", country='FR').build yield person(first_name='Robin', last_name='Dubois', gender=dd.Genders.male) yield person(first_name='Denis', last_name='Denon', gender=dd.Genders.male) yield person(first_name='Jérôme', last_name='Jeanémart', gender=dd.Genders.male) nr = 1 for p in rt.modules.contacts.Person.objects.filter(city=eupen): p.street = STREETS.pop() p.stret_no = str(nr) p.save() nr += 1
def objects(): #~ yield companyType('Firma','Firma') #~ yield companyType('asbl','asbl') #~ yield companyType('A.S.B.L.','A.S.B.L.') #~ yield companyType('sprl','sprl') #~ yield companyType('GmbH','GmbH') #~ yield companyType('AG','AG') #~ yield companyType('S.A.','S.A.') #~ yield companyType('S.C.','S.C.') #~ yield companyType('V.o.G.','V.o.G.') #~ yield companyType('G.o.E.','G.o.E.') #~ yield companyType('A.S.B.L.','Association sans but lucratif') #~ yield companyType('Maison','Maison') #~ yield companyType('Fachklinik','Fachklinik') #~ yield companyType("Centre d'Accueil d'Urgence","Centre d'Accueil d'Urgence") #~ yield companyType(**babel_values('name', #~ en=u"Public Limited Company", #~ nl=u'NV (Naamloze Vennootschap)', #~ fr=u'SA (Société Anonyme)', #~ de=u"AG (Aktiengesellschaft)")) 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 settings.SITE.is_installed('contenttypes'): from django.contrib.contenttypes.models import ContentType I = Instantiator('gfks.HelpText', 'content_type field help_text').build Person = resolve_model("contacts.Person") 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> #~ """) Partner = resolve_model('contacts.Partner') t = ContentType.objects.get_for_model(Partner) yield I( t, 'language', u"""\ Die Sprache, in der Dokumente ausgestellt werden sollen. """)
""" from __future__ import unicode_literals from builtins import filter from django.db import models from django.conf import settings from django.utils.translation import ugettext as _ from lino.api.dd import babel_values from lino.core.utils import resolve_model from lino.utils.instantiator import Instantiator companyType = Instantiator('contacts.CompanyType', "abbr name").build roletype = Instantiator('contacts.RoleType', "name").build # thanks to http://belgium.angloinfo.com/countries/belgium/businesses.asp # see also http://en.wikipedia.org/wiki/Types_of_business_entity COMPANY_TYPES_FORMAT = 'en nl fr de' COMPANY_TYPES_TEXT = u""" Public Limited Company | NV (Naamloze Vennootschap) | SA (Société Anonyme) | AG (Aktiengesellschaft) Limited Liability Company | BVBA (Besloten Vennootschap met Beperkte Aansprakelijkheid) | SPRL (Société Privée à Responsabilité Limitée) | PGmbH (Private Gesellschaft mit beschränkter Haft) One-person Private Limited Company | EBVBA (Eenpersoons Beslotenvennootschap met Beperkte Aansprakelijkheid) | SPRLU (Société d'Une Personne à Responsabilité Limitée) | EGmbH (Einpersonengesellschaft mit beschränkter Haft) Cooperative Company with Limited Liability | CVBA (Cooperatieve Vennootschap met Beperkte Aansprakelijkheid) | SCRL (Société Coopérative à Responsabilité Limitée) | Kooperative mit beschränkter Haft Cooperative Company with Unlimited Liability | CVOA (Cooperatieve Vennootschap met Onbeperkte Aansprakelijkheid) | SCRI (Société Coopérative à Responsabilité Illimitée) | Kooperative mit unbeschränkter Haft General Partnership | Comm VA (Commanditaire Vennootschap op Aandelen | SNC (Société en Nom Collectif) | Limited Partnership | Comm V (Gewone Commanditaire Vennootschap) | SCS (Société en Commandite Simple) | Non-stock Corporation | Maatschap | Société de Droit Commun | Gesellschaft öffentlichen Rechts
def objects(): cal = rt.modules.cal 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 settings.SITE.site_config.update( site_calendar=general, hide_events_before=dd.demo_date().replace(month=4, day=1)) # 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 = rt.modules.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") easter1 = easter(cal.DEMO_START_YEAR) def relative_holiday(offset, name): return add( every_unit=cal.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)
def objects(): noteType = Instantiator('notes.NoteType', "name").build yield noteType(_("Default"), build_method='appyodt', template='Default.odt')
def objects(): productcat = Instantiator('products.ProductCat').build product = Instantiator('products.Product', "sales_price cat").build furniture = productcat(id=1, product_type=ProductTypes.default, **dd.babel_values('name', en="Furniture", et="Mööbel", de="Möbel", fr="Meubles")) yield furniture # print "foo", furniture.id, furniture hosting = productcat(id=2, product_type=ProductTypes.default, **dd.babel_values('name', en="Website Hosting", et="Veebimajutus", de="Website-Hosting", fr="Hébergement de sites Internet")) yield hosting other = productcat(id=3, **dd.str2kw('name', _("Other"))) yield other kw = dd.babel_values('name', en="Wooden table", et=u"Laud puidust", de="Tisch aus Holz", fr=u"Table en bois") kw.update( dd.babel_values( 'description', en="""\ This table is made of pure wood. It has **four legs**. Designed to fit perfectly with **up to 6 wooden chairs**. Product of the year 2008.""", et="""\ See laud on tehtud ehtsast puust. Sellel on **neli jalga**. Disainitud sobida kokku **kuni 6 puidust tooliga**. Product of the year 2008.""", de="""\ Dieser Tisch ist aus echtem Holz. Er hat **vier Beine**. Passt perfekt zusammen mit **bis zu 6 Stühlen aus Holz**. Produkt des Jahres 2008.""", fr="""\ Cette table est en bois authentique. Elle a **quatre jambes**. Conçue pour mettre jusqu'à **6 chaises en bois**. Produit de l'année 2008.""", )) yield product("199.99", 1, **kw) yield product( "99.99", 1, **dd.babel_values('name', en="Wooden chair", et="Tool puidust", de="Stuhl aus Holz", fr="Chaise en bois")) yield product( "129.99", 1, **dd.babel_values('name', en="Metal table", et="Laud metallist", de="Tisch aus Metall", fr="Table en métal")) yield product( "79.99", 1, **dd.babel_values('name', en="Metal chair", et="Tool metallist", de="Stuhl aus Metall", fr="Chaise en métal")) hosting = product( "3.99", 2, **dd.babel_values('name', en="Website hosting 1MB/month", et="Majutus 1MB/s", de="Website-Hosting 1MB/Monat", fr="Hébergement 1MB/mois")) yield hosting yield product( "30.00", 2, **dd.babel_values('name', en="IT consultation & maintenance", et=u"IKT konsultatsioonid & hooldustööd", de=u"EDV Konsultierung & Unterhaltsarbeiten", fr=u"ICT Consultation & maintenance")) yield product( "35.00", 2, **dd.babel_values( 'name', en="Server software installation, configuration and administration", et= "Serveritarkvara installeerimine, seadistamine ja administreerimine", de="Server software installation, configuration and administration", fr="Server software installation, configuration and administration" )) yield product( "40.00", 2, **dd.babel_values('name', en="Programming", et="Programmeerimistööd", de="Programmierung", fr="Programmation")) yield product( "25.00", 2, **dd.babel_values( 'name', en="Image processing and website content maintenance", et="Pilditöötlus ja kodulehtede sisuhaldustööd", de="Bildbearbeitung und Unterhalt Website", fr="Traitement d'images et maintenance site existant")) yield product("29.90", 3, **dd.str2kw('name', _("Book"), vat_class="reduced")) yield product("1.40", 3, **dd.str2kw('name', _("Stamp"), vat_class="exempt"))
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 objects(): city = Instantiator('countries.Place', country='EE').build input_file = rt.find_config_file('sihtnumbrid.csv') settings.SITE.logger.info("Importing Estonian places from %s", input_file) f = codecs.open(input_file, 'r', 'latin-1', 'replace') #~ f = codecs.open(input_file,'r','utf-8','replace') f.readline() r = unicode_csv_reader(f, delimiter=';') #~ r = UnicodeReader(f,delimiter=';') # r.next() maakonnad = dict() mk_names_dict = dict() #~ vallad = dict() #~ laakid = dict() #~ names = set() for ln in r: # print repr(ln) if len(ln) > 2: mk = maakonnad.get(ln[0]) if mk is None: mk = city(name=ln[0], type=PlaceTypes.county) yield mk #~ print "20120822 maakond", mk, mk.pk maakonnad[ln[0]] = mk mk_names_dict[ln[0]] = dict() names = mk_names_dict[ln[0]] if ln[1]: vald = names.get(ln[1]) if vald is None: #~ ct = CITY_TYPES[ln[4]] vald = city(name=ln[1], type=PlaceTypes.municipality, parent=mk, zip_code=ln[7]) yield vald #~ if ct != PlaceTypes.municipality: #~ print "20120822", vald, "expected municipality, found", ct #~ else: #~ print "20120822 vald", vald, vald.pk names[ln[1]] = vald else: vald.zip_code = '' vald.save() else: vald = None laak = names.get(ln[2]) if laak is None: #~ ct = CITY_TYPES.get(ln[4]) ct = CITY_TYPES[ln[4]] if ct is None: #~ print "20120822 ignored addressiliik", ln[4] continue elif vald is None: laak = city(name=ln[2], type=ct, parent=mk, zip_code=ln[7]) else: laak = city(name=ln[2], type=ct, parent=vald, zip_code=ln[7]) yield laak #~ print "20120822", laak.type, laak, laak.pk names[ln[2]] = laak #~ else: #~ print "20120822 pole vald ega Tallinn:", ln #~ names.add(ln[2]) else: laak.zip_code = '' laak.save() f.close()