├── lifefair ├── patches.txt ├── config │ ├── __init__.py │ ├── docs.py │ └── desktop.py ├── docs │ └── __init__.py ├── modules.txt ├── lifefair │ ├── __init__.py │ ├── doctype │ │ ├── __init__.py │ │ ├── block │ │ │ ├── __init__.py │ │ │ ├── test_block.py │ │ │ ├── block_dashboard.py │ │ │ ├── test_block.js │ │ │ └── review.html │ │ ├── firma │ │ │ ├── __init__.py │ │ │ ├── firma.js │ │ │ ├── test_firma.py │ │ │ ├── firma.py │ │ │ └── firma.json │ │ ├── a_bis_z │ │ │ ├── __init__.py │ │ │ ├── a_bis_z.js │ │ │ ├── test_a_bis_z.py │ │ │ ├── a_bis_z.py │ │ │ └── a_bis_z.json │ │ ├── branche │ │ │ ├── __init__.py │ │ │ ├── branche.js │ │ │ ├── test_branche.py │ │ │ ├── branche.py │ │ │ ├── test_branche.js │ │ │ └── branche.json │ │ ├── engagement │ │ │ ├── __init__.py │ │ │ ├── engagement.js │ │ │ ├── test_engagement.py │ │ │ ├── engagement.py │ │ │ ├── test_engagement.js │ │ │ └── engagement.json │ │ ├── exhibitor │ │ │ ├── __init__.py │ │ │ ├── test_exhibitor.py │ │ │ ├── test_exhibitor.js │ │ │ └── exhibitor.js │ │ ├── follow_up │ │ │ ├── __init__.py │ │ │ ├── follow_up.js │ │ │ ├── test_follow_up.py │ │ │ ├── follow_up.py │ │ │ └── test_follow_up.js │ │ ├── interesse │ │ │ ├── __init__.py │ │ │ ├── interesse.js │ │ │ ├── test_interesse.py │ │ │ ├── interesse.py │ │ │ ├── test_interesse.js │ │ │ └── interesse.json │ │ ├── meeting │ │ │ ├── __init__.py │ │ │ ├── test_meeting.py │ │ │ ├── test_meeting.js │ │ │ ├── meeting_dashboard.py │ │ │ ├── meeting.py │ │ │ ├── meeting.js │ │ │ └── meeting.json │ │ ├── person │ │ │ ├── __init__.py │ │ │ ├── test_person.py │ │ │ ├── test_person.js │ │ │ ├── person_dashboard.py │ │ │ └── person_list.js │ │ ├── prospekt │ │ │ ├── __init__.py │ │ │ ├── prospekt.js │ │ │ ├── test_prospekt.py │ │ │ ├── prospekt.py │ │ │ └── prospekt.json │ │ ├── sdg_goal │ │ │ ├── __init__.py │ │ │ ├── sdg_goal.js │ │ │ ├── test_sdg_goal.py │ │ │ ├── sdg_goal.py │ │ │ └── test_sdg_goal.js │ │ ├── web_format │ │ │ ├── __init__.py │ │ │ ├── web_format.js │ │ │ ├── test_web_format.py │ │ │ ├── web_format.py │ │ │ ├── test_web_format.js │ │ │ └── web_format.json │ │ ├── block_a_bis_z │ │ │ ├── __init__.py │ │ │ ├── block_a_bis_z.py │ │ │ └── block_a_bis_z.json │ │ ├── block_firma │ │ │ ├── __init__.py │ │ │ ├── block_firma.py │ │ │ └── block_firma.json │ │ ├── block_interest │ │ │ ├── __init__.py │ │ │ ├── block_interest.js │ │ │ ├── test_block_interest.py │ │ │ ├── block_interest.py │ │ │ └── block_interest.json │ │ ├── block_planning │ │ │ ├── __init__.py │ │ │ └── block_planning.py │ │ ├── block_price │ │ │ ├── __init__.py │ │ │ ├── test_block_price.py │ │ │ ├── block_price.py │ │ │ ├── block_price.js │ │ │ └── block_price.json │ │ ├── hierarchiestufe │ │ │ ├── __init__.py │ │ │ ├── hierarchiestufe.js │ │ │ ├── test_hierarchiestufe.py │ │ │ ├── hierarchiestufe.py │ │ │ ├── test_hierarchiestufe.js │ │ │ └── hierarchiestufe.json │ │ ├── lifefair_log │ │ │ ├── __init__.py │ │ │ ├── lifefair_log.js │ │ │ ├── test_lifefair_log.py │ │ │ ├── lifefair_log.py │ │ │ └── test_lifefair_log.js │ │ ├── organisation │ │ │ ├── __init__.py │ │ │ ├── test_organisation.py │ │ │ ├── organisation_dashboard.py │ │ │ ├── test_organisation.js │ │ │ ├── organisation.py │ │ │ └── organisation.json │ │ ├── person_contact │ │ │ ├── __init__.py │ │ │ ├── person_contact.py │ │ │ └── person_contact.json │ │ ├── person_group │ │ │ ├── __init__.py │ │ │ ├── person_group.js │ │ │ ├── test_person_group.py │ │ │ ├── person_group_dashboard.py │ │ │ ├── person_group.py │ │ │ ├── test_person_group.js │ │ │ └── person_group.json │ │ ├── person_interest │ │ │ ├── __init__.py │ │ │ ├── person_interest.py │ │ │ └── person_interest.json │ │ ├── person_quote │ │ │ ├── __init__.py │ │ │ ├── person_quote.py │ │ │ └── person_quote.json │ │ ├── programm_table │ │ │ ├── __init__.py │ │ │ ├── programm_table.js │ │ │ ├── test_programm_table.py │ │ │ ├── programm_table.py │ │ │ └── programm_table.json │ │ ├── registration │ │ │ ├── __init__.py │ │ │ ├── test_registration.py │ │ │ ├── test_registration.js │ │ │ └── registration.js │ │ ├── stakeholder │ │ │ ├── __init__.py │ │ │ ├── stakeholder.js │ │ │ ├── test_stakeholder.py │ │ │ ├── stakeholder.py │ │ │ ├── test_stakeholder.js │ │ │ └── stakeholder.json │ │ ├── ticket_voucher │ │ │ ├── __init__.py │ │ │ ├── ticket_voucher.js │ │ │ ├── test_ticket_voucher.py │ │ │ ├── ticket_voucher.py │ │ │ └── ticket_voucher.json │ │ ├── visitor_type │ │ │ ├── __init__.py │ │ │ ├── visitor_type.js │ │ │ ├── test_visitor_type.py │ │ │ ├── visitor_type.py │ │ │ └── visitor_type.json │ │ ├── block_price_block │ │ │ ├── __init__.py │ │ │ ├── block_price_block.py │ │ │ └── block_price_block.json │ │ ├── contact_data_change │ │ │ ├── __init__.py │ │ │ ├── contact_data_change.js │ │ │ ├── test_contact_data_change.py │ │ │ ├── contact_data_change.py │ │ │ └── contact_data_change.json │ │ ├── exhibition_contact │ │ │ ├── __init__.py │ │ │ ├── exhibition_contact.py │ │ │ └── exhibition_contact.json │ │ ├── mailchimp_settings │ │ │ ├── __init__.py │ │ │ ├── mailchimp_settings.js │ │ │ ├── test_mailchimp_settings.py │ │ │ ├── test_mailchimp_settings.js │ │ │ └── mailchimp_settings.py │ │ ├── meeting_interest │ │ │ ├── __init__.py │ │ │ ├── meeting_interest.py │ │ │ └── meeting_interest.json │ │ ├── organisation_address │ │ │ ├── __init__.py │ │ │ ├── test_organisation_address.py │ │ │ ├── organisation_address.py │ │ │ ├── test_organisation_address.js │ │ │ └── organisation_address.js │ │ ├── organisation_type │ │ │ ├── __init__.py │ │ │ ├── organisation_type.js │ │ │ ├── test_organisation_type.py │ │ │ ├── organisation_type_dashboard.py │ │ │ ├── organisation_type.py │ │ │ ├── test_organisation_type.js │ │ │ └── organisation_type.json │ │ ├── partnership_ticket │ │ │ ├── __init__.py │ │ │ ├── partnership_ticket.js │ │ │ ├── test_partnership_ticket.py │ │ │ ├── partnership_ticket.py │ │ │ └── partnership_ticket.json │ │ ├── partnershipticket │ │ │ ├── __init__.py │ │ │ ├── test_partnershipticket.py │ │ │ ├── test_partnershipticket.js │ │ │ ├── ticket_overview.html │ │ │ ├── partnershipticket.js │ │ │ └── partnershipticket.json │ │ ├── person_organisation │ │ │ ├── __init__.py │ │ │ ├── person_organisation.py │ │ │ └── person_organisation.json │ │ ├── person_salutation │ │ │ ├── __init__.py │ │ │ ├── person_salutation.py │ │ │ └── person_salutation.json │ │ ├── ticketing_settings │ │ │ ├── __init__.py │ │ │ ├── ticketing_settings.js │ │ │ ├── test_ticketing_settings.py │ │ │ ├── ticketing_settings.py │ │ │ └── ticketing_settings.json │ │ ├── marketing_and_activity │ │ │ ├── __init__.py │ │ │ ├── marketing_and_activity.js │ │ │ ├── test_marketing_and_activity.py │ │ │ ├── marketing_and_activity.py │ │ │ └── test_marketing_and_activity.js │ │ ├── organisation_partnership │ │ │ ├── __init__.py │ │ │ └── organisation_partnership.py │ │ └── partnership_ticket_item │ │ │ ├── __init__.py │ │ │ └── partnership_ticket_item.py │ ├── report │ │ ├── __init__.py │ │ ├── testimonials │ │ │ ├── __init__.py │ │ │ └── testimonials.json │ │ ├── actors_per_meeting │ │ │ ├── __init__.py │ │ │ ├── actors_per_meeting.js │ │ │ ├── actors_per_meeting.json │ │ │ └── actors_per_meeting.py │ │ ├── anmeldeliste_anlass │ │ │ ├── __init__.py │ │ │ ├── anmeldeliste_anlass.js │ │ │ └── anmeldeliste_anlass.json │ │ ├── actor_per_meeting_details │ │ │ ├── __init__.py │ │ │ ├── actor_per_meeting_details.js │ │ │ ├── actor_per_meeting_details.json │ │ │ └── actor_per_meeting_details.py │ │ ├── kontakte_nach_interessen │ │ │ ├── __init__.py │ │ │ ├── kontakte_nach_interessen.json │ │ │ ├── kontakte_nach_interessen.js │ │ │ └── kontakte_nach_interessen.py │ │ └── participants_list_per_event_for_reception │ │ │ ├── __init__.py │ │ │ ├── participants_list_per_event_for_reception.js │ │ │ └── participants_list_per_event_for_reception.json │ ├── web_form │ │ ├── __init__.py │ │ └── partnership_ticket │ │ │ ├── __init__.py │ │ │ ├── partnership_ticket.py │ │ │ ├── partnership_ticket.js │ │ │ └── partnership_ticket.json │ ├── print_format │ │ ├── __init__.py │ │ ├── prospekt2 │ │ │ └── __init__.py │ │ ├── block_flyer │ │ │ └── __init__.py │ │ ├── newsletter_cfp │ │ │ ├── __init__.py │ │ │ └── newsletter_cfp.json │ │ ├── newsletter_llf │ │ │ └── __init__.py │ │ ├── newslettercfp │ │ │ ├── __init__.py │ │ │ └── newslettercfp.json │ │ ├── neesletter_lifefair │ │ │ └── __init__.py │ │ └── ticket_registrierung │ │ │ └── __init__.py │ ├── utils.py │ └── custom │ │ ├── sales_invoice_item.json │ │ └── sales_taxes_and_charges.json ├── templates │ ├── __init__.py │ └── pages │ │ └── __init__.py ├── public │ ├── build.json │ ├── images │ │ ├── arrow.png │ │ ├── cart.png │ │ ├── info.png │ │ ├── minus.png │ │ ├── plus.png │ │ ├── sges_sw.png │ │ ├── url_qr.png │ │ ├── calender.png │ │ ├── forum_logo.png │ │ ├── location.png │ │ ├── new_logo.png │ │ ├── sges_logo.png │ │ ├── wasserzeichen.jpg │ │ └── Lifefair_Forum_Logo.png │ └── fonts │ │ ├── Lifefair-Bold.woff │ │ ├── Lifefair-Regular.woff │ │ └── roboto-v19-latin-regular.woff ├── __init__.py └── hooks.py ├── license.txt ├── requirements.txt ├── .gitignore ├── MANIFEST.in ├── setup.py └── README.md /lifefair/patches.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | License: AGPL -------------------------------------------------------------------------------- /lifefair/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/docs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/modules.txt: -------------------------------------------------------------------------------- 1 | Lifefair -------------------------------------------------------------------------------- /lifefair/lifefair/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/templates/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/web_form/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/templates/pages/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | frappe 2 | stripe 3 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/firma/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/public/build.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/a_bis_z/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibitor/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/follow_up/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/prospekt/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/sdg_goal/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_a_bis_z/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_firma/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_interest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_planning/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/lifefair_log/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_contact/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_interest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_quote/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/programm_table/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/registration/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticket_voucher/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/visitor_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/prospekt2/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/testimonials/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price_block/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/contact_data_change/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibition_contact/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/mailchimp_settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting_interest/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_address/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_organisation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_salutation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticketing_settings/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/block_flyer/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/newsletter_cfp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/newsletter_llf/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/newslettercfp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actors_per_meeting/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/anmeldeliste_anlass/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/web_form/partnership_ticket/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/marketing_and_activity/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_partnership/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket_item/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/neesletter_lifefair/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/ticket_registrierung/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actor_per_meeting_details/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/kontakte_nach_interessen/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/participants_list_per_event_for_reception/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | *.pyc 3 | *.egg-info 4 | *.swp 5 | tags 6 | lifefair/docs/current 7 | __pycache__ 8 | -------------------------------------------------------------------------------- /lifefair/public/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/arrow.png -------------------------------------------------------------------------------- /lifefair/public/images/cart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/cart.png -------------------------------------------------------------------------------- /lifefair/public/images/info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/info.png -------------------------------------------------------------------------------- /lifefair/public/images/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/minus.png -------------------------------------------------------------------------------- /lifefair/public/images/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/plus.png -------------------------------------------------------------------------------- /lifefair/public/images/sges_sw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/sges_sw.png -------------------------------------------------------------------------------- /lifefair/public/images/url_qr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/url_qr.png -------------------------------------------------------------------------------- /lifefair/public/images/calender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/calender.png -------------------------------------------------------------------------------- /lifefair/public/images/forum_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/forum_logo.png -------------------------------------------------------------------------------- /lifefair/public/images/location.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/location.png -------------------------------------------------------------------------------- /lifefair/public/images/new_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/new_logo.png -------------------------------------------------------------------------------- /lifefair/public/images/sges_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/sges_logo.png -------------------------------------------------------------------------------- /lifefair/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | 4 | __version__ = '1.12.2' 5 | 6 | -------------------------------------------------------------------------------- /lifefair/public/fonts/Lifefair-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/fonts/Lifefair-Bold.woff -------------------------------------------------------------------------------- /lifefair/public/images/wasserzeichen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/wasserzeichen.jpg -------------------------------------------------------------------------------- /lifefair/public/fonts/Lifefair-Regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/fonts/Lifefair-Regular.woff -------------------------------------------------------------------------------- /lifefair/public/images/Lifefair_Forum_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/images/Lifefair_Forum_Logo.png -------------------------------------------------------------------------------- /lifefair/public/fonts/roboto-v19-latin-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/libracore/lifefair/HEAD/lifefair/public/fonts/roboto-v19-latin-regular.woff -------------------------------------------------------------------------------- /lifefair/lifefair/web_form/partnership_ticket/partnership_ticket.py: -------------------------------------------------------------------------------- 1 | from __future__ import unicode_literals 2 | 3 | import frappe 4 | 5 | def get_context(context): 6 | # do your magic here 7 | pass 8 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/branche.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Branche', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/firma/firma.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2023, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Firma', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/sdg_goal/sdg_goal.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('SDG Goal', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/a_bis_z/a_bis_z.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('A bis Z', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/engagement.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Engagement', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/follow_up/follow_up.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Follow Up', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/interesse.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Interesse', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/prospekt/prospekt.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Prospekt', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/web_format.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Web Format', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/lifefair_log/lifefair_log.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Lifefair Log', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/person_group.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Person Group', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/stakeholder.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Stakeholder', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/hierarchiestufe.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Hierarchiestufe', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/visitor_type/visitor_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Visitor Type', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_interest/block_interest.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Block Interest', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/organisation_type.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Organisation Type', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/programm_table/programm_table.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2021, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Programm Table', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticket_voucher/ticket_voucher.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Ticket Voucher', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/mailchimp_settings/mailchimp_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('MailChimp Settings', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket/partnership_ticket.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Partnership Ticket', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticketing_settings/ticketing_settings.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Ticketing Settings', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/contact_data_change/contact_data_change.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Contact Data Change', { 5 | // refresh: function(frm) { 6 | 7 | // } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/marketing_and_activity/marketing_and_activity.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Marketing and Activity', { 5 | refresh: function(frm) { 6 | 7 | } 8 | }); 9 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block/test_block.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestBlock(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/firma/test_firma.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2023, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestFirma(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/a_bis_z/test_a_bis_z.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestAbisZ(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/test_branche.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestBranche(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/test_meeting.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestMeeting(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person/test_person.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestPerson(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibitor/test_exhibitor.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestExhibitor(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/follow_up/test_follow_up.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestFollowUp(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/test_interesse.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestInteresse(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/prospekt/test_prospekt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestProspekt(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/sdg_goal/test_sdg_goal.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestSDGGoal(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/test_engagement.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestEngagement(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/test_web_format.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestWebFormat(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price/test_block_price.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestBlockPrice(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/lifefair_log/test_lifefair_log.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestLifefairLog(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/test_organisation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestOrganisation(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/test_person_group.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestPersonGroup(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/registration/test_registration.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestRegistration(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/test_stakeholder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestStakeholder(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/visitor_type/test_visitor_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestVisitorType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_interest/test_block_interest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestBlockInterest(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/test_hierarchiestufe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestHierarchiestufe(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/programm_table/test_programm_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestProgrammTable(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticket_voucher/test_ticket_voucher.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestTicketVoucher(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/test_organisation_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestOrganisationType(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/test_partnershipticket.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestPartnershipticket(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/contact_data_change/test_contact_data_change.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestContactDataChange(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/mailchimp_settings/test_mailchimp_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestMailChimpSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket/test_partnership_ticket.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestPartnershipTicket(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/person_group_dashboard.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return { 5 | 'fieldname': 'person_group', 6 | 'transactions': [ 7 | { 8 | 'label': _('Linked People'), 9 | 'items': ['Person'] 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticketing_settings/test_ticketing_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | # import frappe 7 | import unittest 8 | 9 | class TestTicketingSettings(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/a_bis_z/a_bis_z.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class AbisZ(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/branche.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Branche(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/firma/firma.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2023, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class Firma(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_address/test_organisation_address.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestOrganisationAddress(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/follow_up/follow_up.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class FollowUp(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/marketing_and_activity/test_marketing_and_activity.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and Contributors 3 | # See license.txt 4 | from __future__ import unicode_literals 5 | 6 | import frappe 7 | import unittest 8 | 9 | class TestMarketingandActivity(unittest.TestCase): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/prospekt/prospekt.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class Prospekt(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/sdg_goal/sdg_goal.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class SDGGoal(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/engagement.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Engagement(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/interesse.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Interesse(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/organisation_type_dashboard.py: -------------------------------------------------------------------------------- 1 | from frappe import _ 2 | 3 | def get_data(): 4 | return { 5 | 'fieldname': 'type', 6 | 'transactions': [ 7 | { 8 | 'label': _('Linked Organisations'), 9 | 'items': ['Organisation'] 10 | } 11 | ] 12 | } 13 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/web_format.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class WebFormat(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_firma/block_firma.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2023, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockFirma(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price/block_price.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockPrice(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/lifefair_log/lifefair_log.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class LifefairLog(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/person_group.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonGroup(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_quote/person_quote.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonQuote(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/stakeholder.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Stakeholder(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_a_bis_z/block_a_bis_z.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockAbisZ(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_planning/block_planning.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockPlanning(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_contact/person_contact.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonContact(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/visitor_type/visitor_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class VisitorType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_interest/block_interest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockInterest(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/hierarchiestufe.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Hierarchiestufe(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_interest/person_interest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonInterest(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/programm_table/programm_table.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ProgrammTable(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticket_voucher/ticket_voucher.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class TicketVoucher(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price_block/block_price_block.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class BlockPriceBlock(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting_interest/meeting_interest.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2021, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class MeetingInterest(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/organisation_type.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class OrganisationType(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_salutation/person_salutation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonSalutation(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibition_contact/exhibition_contact.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class ExhibitionContact(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket/partnership_ticket.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class PartnershipTicket(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_organisation/person_organisation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PersonOrganisation(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticketing_settings/ticketing_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class TicketingSettings(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/contact_data_change/contact_data_change.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2022, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | # import frappe 7 | from frappe.model.document import Document 8 | 9 | class ContactDataChange(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_address/organisation_address.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class OrganisationAddress(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/marketing_and_activity/marketing_and_activity.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class MarketingandActivity(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/config/docs.py: -------------------------------------------------------------------------------- 1 | """ 2 | Configuration for docs 3 | """ 4 | 5 | # source_link = "https://github.com/[org_name]/lifefair" 6 | # docs_base_url = "https://[org_name].github.io/lifefair" 7 | # headline = "App that does everything" 8 | # sub_heading = "Yes, you got that right the first time, everything" 9 | 10 | def get_context(context): 11 | context.brand_html = "Lifefair" 12 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_partnership/organisation_partnership.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class OrganisationPartnership(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket_item/partnership_ticket_item.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class PartnershipTicketItem(Document): 10 | pass 11 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block/block_dashboard.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from frappe import _ 6 | 7 | def get_data(): 8 | return { 9 | 'fieldname': 'block', 10 | 'transactions': [ 11 | { 12 | 'label': _('Registrations'), 13 | 'items': ['Registration'] 14 | } 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actor_per_meeting_details/actor_per_meeting_details.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2016, libracore and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Actor per Meeting Details"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"interests", 9 | "label": __("Interests"), 10 | "fieldtype": "Link", 11 | "options": "Interesse" 12 | } 13 | ] 14 | }; 15 | -------------------------------------------------------------------------------- /lifefair/lifefair/web_form/partnership_ticket/partnership_ticket.js: -------------------------------------------------------------------------------- 1 | frappe.ready(function() { 2 | // bind events here 3 | remove_buttons(); 4 | }) 5 | 6 | function remove_buttons() { 7 | hide_divs("btn-remove"); 8 | hide_divs("btn-add-row"); 9 | } 10 | 11 | function hide_divs(class_name) { 12 | var divsToHide = document.getElementsByClassName(class_name); 13 | for(var i = 0; i < divsToHide.length; i++){ 14 | divsToHide[i].style.visibility = "hidden"; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price/block_price.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | cur_frm.fields_dict.blocks.grid.get_field('block').get_query = 5 | function() { 6 | return { 7 | filters: { 8 | "meeting": cur_frm.doc.meeting 9 | } 10 | } 11 | }; 12 | 13 | frappe.ui.form.on('Block Price', { 14 | // refresh: function(frm) { 15 | 16 | // } 17 | }); 18 | -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | include MANIFEST.in 2 | include requirements.txt 3 | include *.json 4 | include *.md 5 | include *.py 6 | include *.txt 7 | recursive-include lifefair *.css 8 | recursive-include lifefair *.csv 9 | recursive-include lifefair *.html 10 | recursive-include lifefair *.ico 11 | recursive-include lifefair *.js 12 | recursive-include lifefair *.json 13 | recursive-include lifefair *.md 14 | recursive-include lifefair *.png 15 | recursive-include lifefair *.py 16 | recursive-include lifefair *.svg 17 | recursive-include lifefair *.txt 18 | recursive-exclude lifefair *.pyc -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/organisation_dashboard.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from frappe import _ 6 | 7 | def get_data(): 8 | return { 9 | 'fieldname': 'organisation', 10 | 'transactions': [ 11 | { 12 | 'label': _('Addresses'), 13 | 'items': ['Organisation Address'] 14 | }, { 15 | 'label': _('Activity'), 16 | 'items': ['Exhibitor'] 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block/test_block.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Block", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Block 13 | () => frappe.tests.make('Block', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person/test_person.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Person", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Person 13 | () => frappe.tests.make('Person', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/test_branche.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Branche", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Branche 13 | () => frappe.tests.make('Branche', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/test_meeting.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Meeting", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Meeting 13 | () => frappe.tests.make('Meeting', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/sdg_goal/test_sdg_goal.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: SDG Goal", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new SDG Goal 13 | () => frappe.tests.make('SDG Goal', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibitor/test_exhibitor.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Exhibitor", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Exhibitor 13 | () => frappe.tests.make('Exhibitor', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/follow_up/test_follow_up.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Follow Up", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Follow Up 13 | () => frappe.tests.make('Follow Up', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/test_interesse.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Interesse", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Interesse 13 | () => frappe.tests.make('Interesse', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/test_engagement.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Engagement", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Engagement 13 | () => frappe.tests.make('Engagement', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/test_web_format.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Web Format", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Web Format 13 | () => frappe.tests.make('Web Format', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/test_stakeholder.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Stakeholder", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Stakeholder 13 | () => frappe.tests.make('Stakeholder', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/lifefair_log/test_lifefair_log.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Lifefair Log", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Lifefair Log 13 | () => frappe.tests.make('Lifefair Log', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/meeting_dashboard.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from frappe import _ 6 | 7 | def get_data(): 8 | return { 9 | 'fieldname': 'meeting', 10 | 'transactions': [ 11 | { 12 | 'label': _('Organisation'), 13 | 'items': ['Block', 'Registration', 'Partnershipticket', 'Exhibitor'] 14 | }, 15 | { 16 | 'label': _('Marketing'), 17 | 'items': ['Marketing and Activity'] 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/test_organisation.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Organisation", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Organisation 13 | () => frappe.tests.make('Organisation', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/test_person_group.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Person Group", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Person Group 13 | () => frappe.tests.make('Person Group', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/registration/test_registration.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Registration", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Registration 13 | () => frappe.tests.make('Registration', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/test_hierarchiestufe.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Hierarchiestufe", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Hierarchiestufe 13 | () => frappe.tests.make('Hierarchiestufe', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/test_organisation_type.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Organisation Type", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Organisation Type 13 | () => frappe.tests.make('Organisation Type', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/test_partnershipticket.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Partnershipticket", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Partnershipticket 13 | () => frappe.tests.make('Partnershipticket', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/mailchimp_settings/test_mailchimp_settings.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: MailChimp Settings", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new MailChimp Settings 13 | () => frappe.tests.make('MailChimp Settings', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_address/test_organisation_address.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Organisation Address", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Organisation Address 13 | () => frappe.tests.make('Organisation Address', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/utils.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2017-2019, libracore and contributors 3 | # License: AGPL v3. See LICENCE 4 | 5 | # import definitions 6 | from __future__ import unicode_literals 7 | import frappe 8 | from frappe import throw, _ 9 | from datetime import datetime 10 | 11 | def add_log(title, topic="General", message=""): 12 | new_log = frappe.get_doc({ 13 | 'doctype': 'Lifefair Log', 14 | 'title': title, 15 | 'message': message, 16 | 'topic': topic, 17 | 'date': datetime.now() 18 | }) 19 | new_log.insert(ignore_permissions=True) 20 | frappe.db.commit() 21 | return 22 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/anmeldeliste_anlass/anmeldeliste_anlass.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Anmeldeliste Anlass"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"meeting", 9 | "label": __("Meeting"), 10 | "fieldtype": "Link", 11 | "options": "Meeting" 12 | }, 13 | { 14 | "fieldname":"interests", 15 | "label": __("Interests"), 16 | "fieldtype": "Link", 17 | "options": "Interesse" 18 | } 19 | ] 20 | } 21 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/marketing_and_activity/test_marketing_and_activity.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | // rename this file from _test_[name] to test_[name] to activate 3 | // and remove above this line 4 | 5 | QUnit.test("test: Marketing and Activity", function (assert) { 6 | let done = assert.async(); 7 | 8 | // number of asserts 9 | assert.expect(1); 10 | 11 | frappe.run_serially([ 12 | // insert a new Marketing and Activity 13 | () => frappe.tests.make('Marketing and Activity', [ 14 | // values to be set 15 | {key: 'value'} 16 | ]), 17 | () => { 18 | assert.equal(cur_frm.doc.key, 'value'); 19 | }, 20 | () => done() 21 | ]); 22 | 23 | }); 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/meeting.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Meeting(Document): 10 | def get_partners(self): 11 | sql_query = ("""SELECT * 12 | FROM `tabOrganisation Partnership` 13 | WHERE `meeting` = '{meeting}' 14 | ORDER BY `parent` ASC;""".format(meeting=self.name)) 15 | partners = frappe.db.sql(sql_query, as_dict=True) 16 | return { 'partners': partners } 17 | pass 18 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actors_per_meeting/actors_per_meeting.js: -------------------------------------------------------------------------------- 1 | frappe.query_reports["Actors per Meeting"] = { 2 | "filters": [ 3 | { 4 | "fieldname":"meeting", 5 | "label": __("Meeting"), 6 | "fieldtype": "Link", 7 | "options": "Meeting" 8 | }, 9 | { 10 | "fieldname":"block", 11 | "label": __("Block"), 12 | "fieldtype": "Link", 13 | "options": "Block" 14 | }, 15 | { 16 | "fieldname":"interests", 17 | "label": __("Interests"), 18 | "fieldtype": "Link", 19 | "options": "Interesse" 20 | } 21 | ] 22 | } 23 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/participants_list_per_event_for_reception/participants_list_per_event_for_reception.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2022, libracore and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Participants list per event for reception"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"meeting", 9 | "label": __("Meeting"), 10 | "fieldtype": "Link", 11 | "options": "Meeting", 12 | "reqd": 1 13 | }, 14 | { 15 | "fieldname":"with_details", 16 | "label": __("With Details"), 17 | "fieldtype": "Check" 18 | } 19 | ] 20 | }; 21 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person/person_dashboard.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from frappe import _ 6 | 7 | def get_data(): 8 | return { 9 | 'fieldname': 'person', 10 | 'transactions': [ 11 | { 12 | 'label': _('Addresses'), 13 | 'items': ['Organisation Address'] 14 | }, 15 | { 16 | 'label': _('Participation'), 17 | 'items': ['Registration', 'Partnershipticket'] 18 | }, 19 | { 20 | 'label': _('Marketing'), 21 | 'items': ['Marketing and Activity', 'Follow Up'] 22 | } 23 | ] 24 | } 25 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_firma/block_firma.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2023-06-02 11:52:19.287563", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "firma" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "firma", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Firma", 15 | "options": "Firma", 16 | "reqd": 1 17 | } 18 | ], 19 | "istable": 1, 20 | "modified": "2023-06-02 11:55:59.515202", 21 | "modified_by": "Administrator", 22 | "module": "Lifefair", 23 | "name": "Block Firma", 24 | "owner": "Administrator", 25 | "permissions": [], 26 | "quick_entry": 1, 27 | "sort_field": "modified", 28 | "sort_order": "DESC", 29 | "track_changes": 1 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/mailchimp_settings/mailchimp_settings.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | from lifefair.lifefair.mailchimp import get_lists 9 | from frappe import _ 10 | 11 | class MailChimpSettings(Document): 12 | def validate(self): 13 | # try to get list to verify connection 14 | try: 15 | get_lists() 16 | except Exception as err: 17 | frappe.msgprint( _("Connection verification failed ({0}).").format(err), _("Validation")) 18 | return 19 | 20 | pass 21 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price_block/block_price_block.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2022-06-07 15:03:27.871217", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "block" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "block", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Block", 15 | "options": "Block", 16 | "reqd": 1 17 | } 18 | ], 19 | "istable": 1, 20 | "modified": "2022-06-07 15:03:27.871217", 21 | "modified_by": "Administrator", 22 | "module": "Lifefair", 23 | "name": "Block Price Block", 24 | "owner": "Administrator", 25 | "permissions": [], 26 | "quick_entry": 1, 27 | "sort_field": "modified", 28 | "sort_order": "DESC", 29 | "track_changes": 1 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting_interest/meeting_interest.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2021-01-27 16:49:21.832041", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "interesse" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "interesse", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Interesse", 15 | "options": "Interesse", 16 | "reqd": 1 17 | } 18 | ], 19 | "istable": 1, 20 | "modified": "2021-01-27 16:49:21.832041", 21 | "modified_by": "Administrator", 22 | "module": "Lifefair", 23 | "name": "Meeting Interest", 24 | "owner": "Administrator", 25 | "permissions": [], 26 | "quick_entry": 1, 27 | "sort_field": "modified", 28 | "sort_order": "DESC", 29 | "track_changes": 1 30 | } -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from setuptools import setup, find_packages 3 | import re, ast 4 | 5 | # get version from __version__ variable in lifefair/__init__.py 6 | _version_re = re.compile(r'__version__\s+=\s+(.*)') 7 | 8 | with open('lifefair/__init__.py', 'rb') as f: 9 | version = str(ast.literal_eval(_version_re.search( 10 | f.read().decode('utf-8')).group(1))) 11 | 12 | with open('requirements.txt') as f: 13 | install_requires = f.read().strip().split('\n') 14 | 15 | setup( 16 | name='lifefair', 17 | version=version, 18 | description='Lifefair ERPNext application', 19 | author='libracore', 20 | author_email='info@libracore.com', 21 | packages=find_packages(), 22 | zip_safe=False, 23 | include_package_data=True, 24 | install_requires=install_requires 25 | ) 26 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/registration/registration.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018-2020, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Registration', { 5 | refresh: function(frm) { 6 | if (!frm.doc.ticket_number) { 7 | frm.add_custom_button( __("Create ticket"), function() { 8 | create_ticket(frm); 9 | }); 10 | } 11 | } 12 | 13 | }); 14 | 15 | function create_ticket(frm) { 16 | frappe.call({ 17 | method: 'create_ticket', 18 | doc: frm.doc, 19 | callback: function(response) { 20 | refresh_field(['date', 'barcode', 'ticket_number', 'type', 'invoice_number', 'email_clerk', 'meldedatum', 'deadline_daten_an_partner']) 21 | } 22 | }); 23 | } 24 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actor_per_meeting_details/actor_per_meeting_details.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2021-03-15 15:39:28.282739", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2021-03-15 15:39:28.282739", 11 | "modified_by": "Administrator", 12 | "module": "Lifefair", 13 | "name": "Actor per Meeting Details", 14 | "owner": "Administrator", 15 | "prepared_report": 0, 16 | "ref_doctype": "Person", 17 | "report_name": "Actor per Meeting Details", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "Lifefair Manager" 22 | }, 23 | { 24 | "role": "System Manager" 25 | }, 26 | { 27 | "role": "Lifefair User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/actors_per_meeting/actors_per_meeting.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2018-06-04 15:24:54.972875", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "LSF Letter Head", 11 | "modified": "2018-06-04 15:35:28.183174", 12 | "modified_by": "Administrator", 13 | "module": "Lifefair", 14 | "name": "Actors per Meeting", 15 | "owner": "Administrator", 16 | "ref_doctype": "Meeting", 17 | "report_name": "Actors per Meeting", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Lifefair Manager" 25 | }, 26 | { 27 | "role": "Lifefair User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/anmeldeliste_anlass/anmeldeliste_anlass.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2019-02-21 15:46:51.128444", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "LSF Letter Head", 11 | "modified": "2019-02-21 15:47:32.301701", 12 | "modified_by": "Administrator", 13 | "module": "Lifefair", 14 | "name": "Anmeldeliste Anlass", 15 | "owner": "Administrator", 16 | "ref_doctype": "Registration", 17 | "report_name": "Anmeldeliste Anlass", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Lifefair Manager" 25 | }, 26 | { 27 | "role": "Lifefair User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/kontakte_nach_interessen/kontakte_nach_interessen.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "apply_user_permissions": 1, 4 | "creation": "2019-02-21 11:20:56.654837", 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "LSF Letter Head", 11 | "modified": "2019-02-21 11:22:59.914720", 12 | "modified_by": "Administrator", 13 | "module": "Lifefair", 14 | "name": "Kontakte nach Interessen", 15 | "owner": "Administrator", 16 | "ref_doctype": "Person", 17 | "report_name": "Kontakte nach Interessen", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Lifefair Manager" 25 | }, 26 | { 27 | "role": "Lifefair User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/participants_list_per_event_for_reception/participants_list_per_event_for_reception.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2022-08-12 15:25:14.873718", 4 | "disable_prepared_report": 1, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "modified": "2022-08-12 15:25:14.873718", 11 | "modified_by": "Administrator", 12 | "module": "Lifefair", 13 | "name": "Participants list per event for reception", 14 | "owner": "Administrator", 15 | "prepared_report": 0, 16 | "ref_doctype": "Registration", 17 | "report_name": "Participants list per event for reception", 18 | "report_type": "Script Report", 19 | "roles": [ 20 | { 21 | "role": "System Manager" 22 | }, 23 | { 24 | "role": "Lifefair Manager" 25 | }, 26 | { 27 | "role": "Lifefair User" 28 | } 29 | ] 30 | } -------------------------------------------------------------------------------- /lifefair/lifefair/custom/sales_invoice_item.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [], 3 | "custom_perms": [], 4 | "doctype": "Sales Invoice Item", 5 | "property_setters": [ 6 | { 7 | "_assign": null, 8 | "_comments": null, 9 | "_liked_by": null, 10 | "_user_tags": null, 11 | "creation": "2019-09-27 22:06:36.975737", 12 | "default_value": null, 13 | "doc_type": "Sales Invoice Item", 14 | "docstatus": 0, 15 | "doctype_or_field": "DocField", 16 | "field_name": "barcode", 17 | "idx": 0, 18 | "modified": "2019-09-27 22:06:36.975737", 19 | "modified_by": "Administrator", 20 | "name": "Sales Invoice Item-barcode-hidden", 21 | "owner": "Administrator", 22 | "parent": null, 23 | "parentfield": null, 24 | "parenttype": null, 25 | "property": "hidden", 26 | "property_type": "Check", 27 | "value": "1" 28 | } 29 | ], 30 | "sync_on_migrate": 1 31 | } -------------------------------------------------------------------------------- /lifefair/lifefair/custom/sales_taxes_and_charges.json: -------------------------------------------------------------------------------- 1 | { 2 | "custom_fields": [], 3 | "custom_perms": [], 4 | "doctype": "Sales Taxes and Charges", 5 | "property_setters": [ 6 | { 7 | "_assign": null, 8 | "_comments": null, 9 | "_liked_by": null, 10 | "_user_tags": null, 11 | "creation": "2019-09-27 22:05:47.864594", 12 | "default_value": null, 13 | "doc_type": "Sales Taxes and Charges", 14 | "docstatus": 0, 15 | "doctype_or_field": "DocType", 16 | "field_name": "", 17 | "idx": 0, 18 | "modified": "2019-09-27 22:05:47.864594", 19 | "modified_by": "Administrator", 20 | "name": "Sales Taxes and Charges-autoname", 21 | "owner": "Administrator", 22 | "parent": null, 23 | "parentfield": null, 24 | "parenttype": null, 25 | "property": "autoname", 26 | "property_type": "", 27 | "value": "INVTD.######" 28 | } 29 | ], 30 | "sync_on_migrate": 1 31 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_address/organisation_address.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Organisation Address', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | validate: function(frm) { 9 | // check if address is linked to an organisation or person 10 | if ((!frm.doc.person) && (!frm.doc.organisation)) { 11 | frappe.msgprint( __("Please select a link to an organisation or person."), __("Validation") ); 12 | frappe.validated=false; 13 | } else { 14 | // set is private if no organisation is defined (but a person) 15 | if (!frm.doc.organisation) { 16 | cur_frm.set_value('is_private', 1); 17 | } 18 | } 19 | // set title 20 | if (!frm.doc.is_private) { 21 | cur_frm.set_value('title', frm.doc.organisation); 22 | } else { 23 | cur_frm.set_value('title', frm.doc.person_name); 24 | } 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_interest/block_interest.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2022-07-02 19:51:23.403500", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "interest" 8 | ], 9 | "fields": [ 10 | { 11 | "fieldname": "interest", 12 | "fieldtype": "Link", 13 | "in_list_view": 1, 14 | "label": "Interest", 15 | "options": "Interesse", 16 | "reqd": 1 17 | } 18 | ], 19 | "modified": "2022-07-02 19:51:23.403500", 20 | "modified_by": "Administrator", 21 | "module": "Lifefair", 22 | "name": "Block Interest", 23 | "owner": "Administrator", 24 | "permissions": [ 25 | { 26 | "create": 1, 27 | "delete": 1, 28 | "email": 1, 29 | "export": 1, 30 | "print": 1, 31 | "read": 1, 32 | "report": 1, 33 | "role": "System Manager", 34 | "share": 1, 35 | "write": 1 36 | } 37 | ], 38 | "quick_entry": 1, 39 | "sort_field": "modified", 40 | "sort_order": "DESC", 41 | "track_changes": 1 42 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/interesse/interesse.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:title", 4 | "creation": "2019-02-21 09:19:00.887939", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "title" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "title", 14 | "fieldtype": "Data", 15 | "in_list_view": 1, 16 | "label": "Title", 17 | "reqd": 1, 18 | "unique": 1 19 | } 20 | ], 21 | "modified": "2023-08-04 09:40:48.359645", 22 | "modified_by": "Administrator", 23 | "module": "Lifefair", 24 | "name": "Interesse", 25 | "owner": "Administrator", 26 | "permissions": [ 27 | { 28 | "create": 1, 29 | "delete": 1, 30 | "email": 1, 31 | "export": 1, 32 | "print": 1, 33 | "read": 1, 34 | "report": 1, 35 | "role": "System Manager", 36 | "share": 1, 37 | "write": 1 38 | } 39 | ], 40 | "quick_entry": 1, 41 | "sort_field": "modified", 42 | "sort_order": "DESC", 43 | "title_field": "title", 44 | "track_changes": 1 45 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_a_bis_z/block_a_bis_z.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2021-03-16 18:39:30.147314", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "a_bis_z", 8 | "column_break_2", 9 | "beschreibung" 10 | ], 11 | "fields": [ 12 | { 13 | "fieldname": "a_bis_z", 14 | "fieldtype": "Link", 15 | "in_list_view": 1, 16 | "label": "A bis Z", 17 | "options": "A bis Z" 18 | }, 19 | { 20 | "fieldname": "column_break_2", 21 | "fieldtype": "Column Break" 22 | }, 23 | { 24 | "fetch_from": "a_bis_z.beschreibung", 25 | "fieldname": "beschreibung", 26 | "fieldtype": "Small Text", 27 | "label": "Beschreibung" 28 | } 29 | ], 30 | "istable": 1, 31 | "modified": "2021-03-18 18:29:56.838174", 32 | "modified_by": "Administrator", 33 | "module": "Lifefair", 34 | "name": "Block A bis Z", 35 | "owner": "Administrator", 36 | "permissions": [], 37 | "quick_entry": 1, 38 | "sort_field": "modified", 39 | "sort_order": "DESC", 40 | "track_changes": 1 41 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Lifefair 2 | 3 | Lifefair ERPNext application 4 | 5 | ### License 6 | AGPL 7 | 8 | ### Features 9 | This application allows to manage complex relations between people and organisations and the administration of events. 10 | 11 | It includes 12 | * directly sending a mail with the local email client (e.g. Thunderbird or Outlook) from a contact 13 | * downloading contacts as vCards 14 | * several connections to a WordPress frontend (using the JSONContentImporter plugin) 15 | 16 | ### Installation 17 | Lifefair is an application for ERPNext (https://erpnext.org). Make sure to have a running ERPNext server. 18 | 19 | On an ERPNext server, in the bench folder, run 20 | 21 | $ bench get-app https://github.com/libracore/lifefair.git 22 | $ bench install-app lifefair 23 | 24 | ### Troubleshooting 25 | #### vCards in Outlook 26 | By default, most Outlook configurations will not properly import special characters. To enable UTF-8 support, go to File > Options > Advanced > International Options and select UTF-8 for outgoing vCards (I know this is strange, but it works ;-) ) 27 | -------------------------------------------------------------------------------- /lifefair/config/desktop.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | from frappe import _ 4 | 5 | def get_data(): 6 | return [ 7 | { 8 | "module_name": "Lifefair", 9 | "color": "#f88c00", 10 | "icon": "octicon octicon-light-bulb", 11 | "type": "module", 12 | "label": _("Lifefair") 13 | }, 14 | { 15 | "module_name": "Person", 16 | "_doctype": "Person", 17 | "label": _("Person"), 18 | "color": "#f88c00", 19 | "icon": "octicon octicon-person", 20 | "type": "link", 21 | "link": "List/Person" 22 | }, 23 | { 24 | "module_name": "Organisation", 25 | "_doctype": "organisation", 26 | "label": _("Organisation"), 27 | "color": "#f88c00", 28 | "icon": "octicon octicon-organization", 29 | "type": "link", 30 | "link": "List/Organisation" 31 | }, 32 | { 33 | "module_name": "Follow Up", 34 | "_doctype": "follow up", 35 | "label": _("Follow Up"), 36 | "color": "#f88c00", 37 | "icon": "octicon octicon-megaphone", 38 | "type": "link", 39 | "link": "List/Follow Up" 40 | } 41 | ] 42 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibitor/exhibitor.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Exhibitor', { 5 | refresh: function(frm) { 6 | 7 | }, 8 | validate: function(frm) { 9 | // check length limit of description field 10 | if ((frm.doc.description) && (frm.doc.description.length > 1100)) { 11 | frappe.msgprint( __("Description too long. Please shorten below 1100 characters."), __("Validation") ); 12 | frappe.validated=false; 13 | } 14 | else if ((frm.doc.company_description) && (frm.doc.company_description.length > 1100)) { 15 | frappe.msgprint( __("Description too long. Please shorten below 1100 characters."), __("Validation") ); 16 | frappe.validated=false; 17 | } 18 | }, 19 | before_save: function(frm) { 20 | // replace line break with html-type line break 21 | if (frm.doc.company_description) { 22 | cur_frm.set_value('company_description', 23 | frm.doc.company_description.split('\n').join('
')); 24 | } 25 | } 26 | }); 27 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/a_bis_z/a_bis_z.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:titel", 4 | "creation": "2021-03-15 18:14:06.196437", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "titel", 10 | "beschreibung" 11 | ], 12 | "fields": [ 13 | { 14 | "fieldname": "titel", 15 | "fieldtype": "Data", 16 | "in_list_view": 1, 17 | "label": "Titel", 18 | "reqd": 1, 19 | "unique": 1 20 | }, 21 | { 22 | "fieldname": "beschreibung", 23 | "fieldtype": "Small Text", 24 | "label": "Beschreibung" 25 | } 26 | ], 27 | "modified": "2021-04-06 14:16:29.727163", 28 | "modified_by": "Administrator", 29 | "module": "Lifefair", 30 | "name": "A bis Z", 31 | "owner": "Administrator", 32 | "permissions": [ 33 | { 34 | "create": 1, 35 | "delete": 1, 36 | "email": 1, 37 | "export": 1, 38 | "print": 1, 39 | "read": 1, 40 | "report": 1, 41 | "role": "Lifefair User", 42 | "share": 1, 43 | "write": 1 44 | } 45 | ], 46 | "quick_entry": 1, 47 | "sort_field": "modified", 48 | "sort_order": "DESC", 49 | "title_field": "titel", 50 | "track_changes": 1 51 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/kontakte_nach_interessen/kontakte_nach_interessen.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2019, libracore and contributors 2 | // For license information, please see license.txt 3 | /* eslint-disable */ 4 | 5 | frappe.query_reports["Kontakte nach Interessen"] = { 6 | "filters": [ 7 | { 8 | "fieldname":"interest1", 9 | "label": __("Interesse 1"), 10 | "fieldtype": "Link", 11 | "options": "Interesse" 12 | }, 13 | { 14 | "fieldname":"interest2", 15 | "label": __("Interesse 2"), 16 | "fieldtype": "Link", 17 | "options": "Interesse" 18 | }, 19 | { 20 | "fieldname":"interest3", 21 | "label": __("Interesse 3"), 22 | "fieldtype": "Link", 23 | "options": "Interesse" 24 | }, 25 | { 26 | "fieldname":"interest4", 27 | "label": __("Interesse 4"), 28 | "fieldtype": "Link", 29 | "options": "Interesse" 30 | }, 31 | { 32 | "fieldname":"interest5", 33 | "label": __("Interesse 5"), 34 | "fieldtype": "Link", 35 | "options": "Interesse" 36 | } 37 | ] 38 | } 39 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/meeting.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Meeting', { 5 | refresh: function(frm) { 6 | if (!frm.doc.__islocal) { 7 | display_partners(frm); 8 | } 9 | } 10 | }); 11 | 12 | function display_partners(frm) { 13 | // render partners 14 | frappe.call({ 15 | method: 'get_partners', 16 | doc: frm.doc, 17 | callback: function(r) { 18 | if (r.message) { 19 | var html = ""; 20 | if (r.message.partners.length == 0) { 21 | html = "

" + __("No partners found") + "

"; 22 | } else { 23 | r.message.partners.forEach(function (partner) { 24 | // address code generator 25 | html += '

'; 26 | html += ' '; 27 | html += ''; 28 | html += partner.parent + ": " + partner.type; 29 | html += "

"; 30 | }); 31 | } 32 | if (frm.fields_dict['partnerships_html']) { 33 | $(frm.fields_dict['partnerships_html'].wrapper).html(html); 34 | } 35 | } 36 | } 37 | }); 38 | } 39 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/contact_data_change/contact_data_change.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2022-06-20 16:22:42.345820", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "person", 8 | "form_data" 9 | ], 10 | "fields": [ 11 | { 12 | "fieldname": "person", 13 | "fieldtype": "Link", 14 | "in_list_view": 1, 15 | "label": "Person", 16 | "options": "Person", 17 | "read_only": 1 18 | }, 19 | { 20 | "fieldname": "form_data", 21 | "fieldtype": "Long Text", 22 | "label": "Form Data", 23 | "read_only": 1 24 | } 25 | ], 26 | "modified": "2022-07-11 12:05:42.144227", 27 | "modified_by": "Administrator", 28 | "module": "Lifefair", 29 | "name": "Contact Data Change", 30 | "owner": "Administrator", 31 | "permissions": [ 32 | { 33 | "create": 1, 34 | "delete": 1, 35 | "email": 1, 36 | "export": 1, 37 | "print": 1, 38 | "read": 1, 39 | "report": 1, 40 | "role": "System Manager", 41 | "share": 1, 42 | "write": 1 43 | }, 44 | { 45 | "create": 1, 46 | "delete": 1, 47 | "email": 1, 48 | "export": 1, 49 | "print": 1, 50 | "read": 1, 51 | "report": 1, 52 | "role": "Lifefair User", 53 | "share": 1, 54 | "write": 1 55 | } 56 | ], 57 | "quick_entry": 1, 58 | "sort_field": "modified", 59 | "sort_order": "DESC", 60 | "track_changes": 1 61 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/organisation.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2018, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | from frappe.model.document import Document 8 | 9 | class Organisation(Document): 10 | def get_addresses(self): 11 | sql_query = ("""SELECT * 12 | FROM `tabOrganisation Address` 13 | WHERE `organisation` = '{0}' 14 | ORDER BY `city` ASC""".format(self.name)) 15 | addresses = frappe.db.sql(sql_query, as_dict=True) 16 | return { 'addresses': addresses } 17 | 18 | def get_people(self): 19 | sql_query = ("""SELECT 20 | `t2`.`name`, 21 | `t2`.`full_name`, 22 | `t2`.`linkedin_id`, 23 | `t2`.`website_description`, 24 | `t2`.`company_phone`, 25 | `t2`.`private_phone`, 26 | `t2`.`mobile_phone`, 27 | `t2`.`email`, 28 | `t2`.`email2`, 29 | `t2`.`email3`, 30 | `t1`.`function` AS `role`, 31 | `t1`.`is_primary` 32 | FROM (SELECT * FROM `tabPerson Organisation` WHERE `organisation` = '{0}') AS `t1` 33 | LEFT JOIN `tabPerson` AS `t2` ON `t1`.`parent` = `t2`.`name` 34 | ORDER BY `t1`.`is_primary` DESC, `t2`.`last_name` ASC""".format(self.name)) 35 | people = frappe.db.sql(sql_query, as_dict=True) 36 | return { 'people': people } 37 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/firma/firma.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_import": 1, 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2023-06-02 11:49:11.808695", 6 | "doctype": "DocType", 7 | "document_type": "Setup", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "title" 12 | ], 13 | "fields": [ 14 | { 15 | "fieldname": "title", 16 | "fieldtype": "Data", 17 | "in_list_view": 1, 18 | "label": "Title", 19 | "reqd": 1, 20 | "unique": 1 21 | } 22 | ], 23 | "modified": "2023-06-28 09:28:47.822075", 24 | "modified_by": "Administrator", 25 | "module": "Lifefair", 26 | "name": "Firma", 27 | "owner": "Administrator", 28 | "permissions": [ 29 | { 30 | "create": 1, 31 | "delete": 1, 32 | "email": 1, 33 | "export": 1, 34 | "print": 1, 35 | "read": 1, 36 | "report": 1, 37 | "role": "System Manager", 38 | "share": 1, 39 | "write": 1 40 | }, 41 | { 42 | "create": 1, 43 | "email": 1, 44 | "export": 1, 45 | "print": 1, 46 | "read": 1, 47 | "report": 1, 48 | "role": "Lifefair Manager", 49 | "share": 1, 50 | "write": 1 51 | }, 52 | { 53 | "email": 1, 54 | "export": 1, 55 | "print": 1, 56 | "read": 1, 57 | "report": 1, 58 | "role": "Lifefair User", 59 | "share": 1, 60 | "write": 1 61 | } 62 | ], 63 | "quick_entry": 1, 64 | "sort_field": "modified", 65 | "sort_order": "DESC" 66 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/testimonials/testimonials.json: -------------------------------------------------------------------------------- 1 | { 2 | "add_total_row": 0, 3 | "creation": "2019-11-18 07:17:19.354253", 4 | "disable_prepared_report": 0, 5 | "disabled": 0, 6 | "docstatus": 0, 7 | "doctype": "Report", 8 | "idx": 0, 9 | "is_standard": "Yes", 10 | "letter_head": "Default Letter Head", 11 | "modified": "2019-11-18 07:27:19.934012", 12 | "modified_by": "Administrator", 13 | "module": "Lifefair", 14 | "name": "Testimonials", 15 | "owner": "Administrator", 16 | "prepared_report": 0, 17 | "query": "SELECT \n `tabPerson Quote`.`parent` AS `Person:Link/Person:75`,\n `tabPerson`.`full_name` AS `Full name:Data:200`,\n `tabPerson Quote`.`text` AS `Quote::200`,\n `tabPerson Quote`.`impact` AS `Impact::50`,\n `tabPerson Quote`.`priority` AS `Prio::75`,\n `tabPerson Quote`.`date` AS `Date:Date:100`,\n `tabPerson Quote`.`usage` AS `Usage::100`,\n `tabPerson Quote`.`meeting` AS `Meeting:Link/Event:150`,\n `tabPerson Quote`.`block` AS `Block:Link/Block:150`,\n `tabPerson Quote`.`exhibitor` AS `Exhibitor:Link/Exhibitor:150`,\n `tabPerson Quote`.`interest` AS `Interest:Link/Interest:150`\nFROM `tabPerson Quote`\nJOIN `tabPerson` ON `tabPerson`.`name` = `tabPerson Quote`.`parent`", 18 | "ref_doctype": "Person", 19 | "report_name": "Testimonials", 20 | "report_type": "Query Report", 21 | "roles": [ 22 | { 23 | "role": "Lifefair Manager" 24 | }, 25 | { 26 | "role": "Lifefair User" 27 | }, 28 | { 29 | "role": "System Manager" 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/ticket_overview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {% if tickets %} 10 | {% for ticket in tickets %} 11 | {% if ticket.email %} 12 | 13 | 14 | 15 | 16 | 23 | 30 | 31 | {% endif %} 32 | {% endfor %} 33 | {% endif %} 34 |
{{ __("First name") }}{{ __("Last name") }}{{ __("Email") }}{{ __("Person") }}{{ __("Registration") }}
{% if ticket.first_name %}{{ ticket.first_name }}{% endif %}{% if ticket.last_name %}{{ ticket.last_name }}{% endif %}{{ ticket.email }} 17 | {% if ticket.person %} 18 |   19 | {% else %} 20 |   21 | {% endif %} 22 | 24 | {% if ticket.registration %} 25 |   26 | {% else %} 27 |   28 | {% endif %} 29 |
35 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/visitor_type/visitor_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:visitor_type", 4 | "creation": "2022-06-21 13:19:40.000825", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "visitor_type", 10 | "priority" 11 | ], 12 | "fields": [ 13 | { 14 | "fieldname": "visitor_type", 15 | "fieldtype": "Data", 16 | "in_list_view": 1, 17 | "label": "Visitor Type", 18 | "reqd": 1, 19 | "unique": 1 20 | }, 21 | { 22 | "fieldname": "priority", 23 | "fieldtype": "Int", 24 | "in_list_view": 1, 25 | "label": "Priority" 26 | } 27 | ], 28 | "modified": "2022-06-21 16:19:01.868489", 29 | "modified_by": "Administrator", 30 | "module": "Lifefair", 31 | "name": "Visitor Type", 32 | "owner": "Administrator", 33 | "permissions": [ 34 | { 35 | "create": 1, 36 | "delete": 1, 37 | "email": 1, 38 | "export": 1, 39 | "print": 1, 40 | "read": 1, 41 | "report": 1, 42 | "role": "System Manager", 43 | "share": 1, 44 | "write": 1 45 | }, 46 | { 47 | "email": 1, 48 | "export": 1, 49 | "print": 1, 50 | "read": 1, 51 | "report": 1, 52 | "role": "Lifefair User", 53 | "share": 1 54 | }, 55 | { 56 | "create": 1, 57 | "delete": 1, 58 | "email": 1, 59 | "export": 1, 60 | "print": 1, 61 | "read": 1, 62 | "report": 1, 63 | "role": "Lifefair Manager", 64 | "share": 1, 65 | "write": 1 66 | } 67 | ], 68 | "quick_entry": 1, 69 | "sort_field": "modified", 70 | "sort_order": "DESC", 71 | "title_field": "visitor_type", 72 | "track_changes": 1 73 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/partnershipticket.js: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2018-2022, libracore and contributors 2 | // For license information, please see license.txt 3 | 4 | frappe.ui.form.on('Partnershipticket', { 5 | refresh: function(frm) { 6 | // add download vCard buton 7 | frm.add_custom_button( __("Identify people"), function() { 8 | identify_people(frm); 9 | }).addClass("btn-primary"); 10 | // load business card 11 | if (frm.doc.tickets) { 12 | display_overview(frm); 13 | } 14 | }, 15 | validate: function(frm) { 16 | //secure_items(frm); 17 | 18 | apply_owner(frm); 19 | } 20 | }); 21 | 22 | frappe.ui.form.on('Partnership Ticket Item', { 23 | tickets_add: function(frm, cdt, cdn) { 24 | frappe.model.set_value(cdt, cdn, "name", Date.now().toString()); 25 | } 26 | }); 27 | 28 | function secure_items(frm) { 29 | var tickets = cur_frm.doc.tickets; 30 | var ticket_no = 1; 31 | tickets.forEach(function(entry) { 32 | frappe.model.set_value(entry.doctype, entry.name, "ticket_no", ticket_no); 33 | ticket_no++; 34 | }); 35 | } 36 | 37 | function apply_owner(frm) { 38 | frappe.call({ 39 | method: 'apply_owner', 40 | doc: frm.doc 41 | }); 42 | } 43 | 44 | function identify_people(frm) { 45 | frappe.call({ 46 | method: 'identify_people', 47 | doc: frm.doc, 48 | callback: function(response) { 49 | display_overview(frm); 50 | } 51 | }); 52 | } 53 | 54 | function display_overview(frm) { 55 | // render business card 56 | var html = frappe.render_template('ticket_overview', frm.doc); 57 | if (frm.fields_dict['ticket_overview_html']) { 58 | $(frm.fields_dict['ticket_overview_html'].wrapper).html(html); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_interest/person_interest.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "beta": 0, 7 | "creation": "2019-02-21 09:43:14.542881", 8 | "custom": 0, 9 | "docstatus": 0, 10 | "doctype": "DocType", 11 | "document_type": "", 12 | "editable_grid": 1, 13 | "engine": "InnoDB", 14 | "fields": [ 15 | { 16 | "allow_bulk_edit": 0, 17 | "allow_on_submit": 0, 18 | "bold": 0, 19 | "collapsible": 0, 20 | "columns": 0, 21 | "fieldname": "interesse", 22 | "fieldtype": "Link", 23 | "hidden": 0, 24 | "ignore_user_permissions": 0, 25 | "ignore_xss_filter": 0, 26 | "in_filter": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 1, 29 | "in_standard_filter": 0, 30 | "label": "Interesse", 31 | "length": 0, 32 | "no_copy": 0, 33 | "options": "Interesse", 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 1, 56 | "max_attachments": 0, 57 | "modified": "2019-02-21 09:43:14.542881", 58 | "modified_by": "Administrator", 59 | "module": "Lifefair", 60 | "name": "Person Interest", 61 | "name_case": "", 62 | "owner": "Administrator", 63 | "permissions": [], 64 | "quick_entry": 1, 65 | "read_only": 0, 66 | "read_only_onload": 0, 67 | "show_name_in_global_search": 0, 68 | "sort_field": "modified", 69 | "sort_order": "DESC", 70 | "track_changes": 1, 71 | "track_seen": 0 72 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_quote/person_quote.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2018-06-04 11:17:09.283750", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "text", 8 | "date", 9 | "usage", 10 | "impact", 11 | "priority", 12 | "column_allocation", 13 | "meeting", 14 | "block", 15 | "exhibitor", 16 | "interest" 17 | ], 18 | "fields": [ 19 | { 20 | "fieldname": "text", 21 | "fieldtype": "Small Text", 22 | "in_list_view": 1, 23 | "label": "Text" 24 | }, 25 | { 26 | "fieldname": "date", 27 | "fieldtype": "Date", 28 | "in_list_view": 1, 29 | "label": "Date" 30 | }, 31 | { 32 | "fieldname": "usage", 33 | "fieldtype": "Data", 34 | "in_list_view": 1, 35 | "label": "Usage" 36 | }, 37 | { 38 | "default": "0", 39 | "fieldname": "impact", 40 | "fieldtype": "Check", 41 | "in_list_view": 1, 42 | "label": "Impact" 43 | }, 44 | { 45 | "fieldname": "priority", 46 | "fieldtype": "Select", 47 | "label": "Priority", 48 | "options": "High\nMedium\nLow" 49 | }, 50 | { 51 | "fieldname": "column_allocation", 52 | "fieldtype": "Column Break" 53 | }, 54 | { 55 | "fieldname": "meeting", 56 | "fieldtype": "Link", 57 | "label": "Meeting", 58 | "options": "Meeting" 59 | }, 60 | { 61 | "fieldname": "block", 62 | "fieldtype": "Link", 63 | "label": "Block", 64 | "options": "Block" 65 | }, 66 | { 67 | "fieldname": "exhibitor", 68 | "fieldtype": "Link", 69 | "label": "Exhibitor", 70 | "options": "Exhibitor" 71 | }, 72 | { 73 | "fieldname": "interest", 74 | "fieldtype": "Link", 75 | "label": "Interest", 76 | "options": "Interest" 77 | } 78 | ], 79 | "istable": 1, 80 | "modified": "2019-11-15 21:04:45.318307", 81 | "modified_by": "Administrator", 82 | "module": "Lifefair", 83 | "name": "Person Quote", 84 | "owner": "Administrator", 85 | "permissions": [], 86 | "quick_entry": 1, 87 | "sort_field": "modified", 88 | "sort_order": "DESC", 89 | "track_changes": 1 90 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticket_voucher/ticket_voucher.json: -------------------------------------------------------------------------------- 1 | { 2 | "autoname": "field:voucher_code", 3 | "creation": "2022-06-07 14:51:21.390025", 4 | "doctype": "DocType", 5 | "editable_grid": 1, 6 | "engine": "InnoDB", 7 | "field_order": [ 8 | "voucher_code", 9 | "discount", 10 | "remain_active", 11 | "used_column", 12 | "used_by" 13 | ], 14 | "fields": [ 15 | { 16 | "fieldname": "voucher_code", 17 | "fieldtype": "Data", 18 | "in_list_view": 1, 19 | "label": "Voucher Code", 20 | "reqd": 1, 21 | "unique": 1 22 | }, 23 | { 24 | "fieldname": "discount", 25 | "fieldtype": "Percent", 26 | "in_list_view": 1, 27 | "label": "Discount", 28 | "reqd": 1 29 | }, 30 | { 31 | "fieldname": "used_by", 32 | "fieldtype": "Link", 33 | "label": "Used By", 34 | "no_copy": 1, 35 | "options": "Person", 36 | "read_only": 1 37 | }, 38 | { 39 | "default": "0", 40 | "fieldname": "remain_active", 41 | "fieldtype": "Check", 42 | "label": " Remain Active" 43 | }, 44 | { 45 | "fieldname": "used_column", 46 | "fieldtype": "Column Break" 47 | } 48 | ], 49 | "modified": "2022-08-03 15:26:27.057340", 50 | "modified_by": "Administrator", 51 | "module": "Lifefair", 52 | "name": "Ticket Voucher", 53 | "owner": "Administrator", 54 | "permissions": [ 55 | { 56 | "create": 1, 57 | "delete": 1, 58 | "email": 1, 59 | "export": 1, 60 | "print": 1, 61 | "read": 1, 62 | "report": 1, 63 | "role": "System Manager", 64 | "share": 1, 65 | "write": 1 66 | }, 67 | { 68 | "create": 1, 69 | "email": 1, 70 | "export": 1, 71 | "print": 1, 72 | "read": 1, 73 | "report": 1, 74 | "role": "Lifefair User", 75 | "share": 1, 76 | "write": 1 77 | }, 78 | { 79 | "create": 1, 80 | "delete": 1, 81 | "email": 1, 82 | "export": 1, 83 | "print": 1, 84 | "read": 1, 85 | "report": 1, 86 | "role": "Lifefair Manager", 87 | "share": 1, 88 | "write": 1 89 | } 90 | ], 91 | "quick_entry": 1, 92 | "sort_field": "modified", 93 | "sort_order": "DESC", 94 | "track_changes": 1 95 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block_price/block_price.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2022-06-07 14:36:21.386116", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "visitor_type", 8 | "rate", 9 | "col_main", 10 | "meeting", 11 | "sec_blocks", 12 | "blocks" 13 | ], 14 | "fields": [ 15 | { 16 | "fieldname": "visitor_type", 17 | "fieldtype": "Link", 18 | "in_list_view": 1, 19 | "label": "Visitor Type", 20 | "options": "Visitor Type", 21 | "reqd": 1 22 | }, 23 | { 24 | "fieldname": "blocks", 25 | "fieldtype": "Table", 26 | "label": "Blocks", 27 | "options": "Block Price Block", 28 | "reqd": 1 29 | }, 30 | { 31 | "fieldname": "rate", 32 | "fieldtype": "Currency", 33 | "in_list_view": 1, 34 | "label": "Rate", 35 | "reqd": 1 36 | }, 37 | { 38 | "fieldname": "col_main", 39 | "fieldtype": "Column Break" 40 | }, 41 | { 42 | "fieldname": "meeting", 43 | "fieldtype": "Link", 44 | "in_list_view": 1, 45 | "label": "Meeting", 46 | "options": "Meeting", 47 | "reqd": 1 48 | }, 49 | { 50 | "fieldname": "sec_blocks", 51 | "fieldtype": "Section Break", 52 | "label": "Blocks" 53 | } 54 | ], 55 | "modified": "2022-06-21 16:16:52.084853", 56 | "modified_by": "Administrator", 57 | "module": "Lifefair", 58 | "name": "Block Price", 59 | "owner": "Administrator", 60 | "permissions": [ 61 | { 62 | "create": 1, 63 | "delete": 1, 64 | "email": 1, 65 | "export": 1, 66 | "print": 1, 67 | "read": 1, 68 | "report": 1, 69 | "role": "System Manager", 70 | "share": 1, 71 | "write": 1 72 | }, 73 | { 74 | "email": 1, 75 | "export": 1, 76 | "print": 1, 77 | "read": 1, 78 | "report": 1, 79 | "role": "Lifefair User", 80 | "share": 1 81 | }, 82 | { 83 | "create": 1, 84 | "delete": 1, 85 | "email": 1, 86 | "export": 1, 87 | "print": 1, 88 | "read": 1, 89 | "report": 1, 90 | "role": "Lifefair Manager", 91 | "share": 1, 92 | "write": 1 93 | } 94 | ], 95 | "sort_field": "modified", 96 | "sort_order": "DESC", 97 | "title_field": "visitor_type", 98 | "track_changes": 1 99 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/programm_table/programm_table.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2021-03-23 21:44:29.275359", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "time", 8 | "description", 9 | "person_name", 10 | "website_description", 11 | "column_break_4", 12 | "kontakt_knt", 13 | "show_on_website", 14 | "status", 15 | "information" 16 | ], 17 | "fields": [ 18 | { 19 | "fieldname": "kontakt_knt", 20 | "fieldtype": "Link", 21 | "in_list_view": 1, 22 | "label": "Kontakt KNT", 23 | "options": "Person" 24 | }, 25 | { 26 | "fetch_from": "kontakt_knt.long_name", 27 | "fieldname": "person_name", 28 | "fieldtype": "Data", 29 | "in_list_view": 1, 30 | "label": "Name" 31 | }, 32 | { 33 | "fieldname": "time", 34 | "fieldtype": "Data", 35 | "in_list_view": 1, 36 | "label": "Zeit" 37 | }, 38 | { 39 | "fieldname": "description", 40 | "fieldtype": "Data", 41 | "in_list_view": 1, 42 | "label": "Beschreibung" 43 | }, 44 | { 45 | "default": "0", 46 | "fieldname": "show_on_website", 47 | "fieldtype": "Check", 48 | "in_list_view": 1, 49 | "label": "Auf Website anzeigen" 50 | }, 51 | { 52 | "fieldname": "status", 53 | "fieldtype": "Data", 54 | "in_list_view": 1, 55 | "label": "Status" 56 | }, 57 | { 58 | "fieldname": "column_break_4", 59 | "fieldtype": "Column Break" 60 | }, 61 | { 62 | "fetch_from": "kontakt_knt.website_description", 63 | "fieldname": "website_description", 64 | "fieldtype": "Small Text", 65 | "label": "Websiten-Beschreibung" 66 | }, 67 | { 68 | "fieldname": "information", 69 | "fieldtype": "Small Text", 70 | "label": "Information" 71 | } 72 | ], 73 | "modified": "2021-04-13 10:11:47.949823", 74 | "modified_by": "Administrator", 75 | "module": "Lifefair", 76 | "name": "Programm Table", 77 | "owner": "Administrator", 78 | "permissions": [ 79 | { 80 | "create": 1, 81 | "delete": 1, 82 | "email": 1, 83 | "export": 1, 84 | "print": 1, 85 | "read": 1, 86 | "report": 1, 87 | "role": "System Manager", 88 | "share": 1, 89 | "write": 1 90 | } 91 | ], 92 | "quick_entry": 1, 93 | "sort_field": "modified", 94 | "sort_order": "DESC", 95 | "track_changes": 1 96 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/branche/branche.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:title", 7 | "beta": 0, 8 | "creation": "2019-02-21 09:17:59.740539", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "title", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Title", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 0, 56 | "max_attachments": 0, 57 | "modified": "2019-02-21 09:17:59.740539", 58 | "modified_by": "Administrator", 59 | "module": "Lifefair", 60 | "name": "Branche", 61 | "name_case": "", 62 | "owner": "Administrator", 63 | "permissions": [ 64 | { 65 | "amend": 0, 66 | "apply_user_permissions": 0, 67 | "cancel": 0, 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "if_owner": 0, 73 | "import": 0, 74 | "permlevel": 0, 75 | "print": 1, 76 | "read": 1, 77 | "report": 1, 78 | "role": "System Manager", 79 | "set_user_permissions": 0, 80 | "share": 1, 81 | "submit": 0, 82 | "write": 1 83 | } 84 | ], 85 | "quick_entry": 1, 86 | "read_only": 0, 87 | "read_only_onload": 0, 88 | "show_name_in_global_search": 0, 89 | "sort_field": "modified", 90 | "sort_order": "DESC", 91 | "title_field": "title", 92 | "track_changes": 1, 93 | "track_seen": 0 94 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/engagement/engagement.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:title", 7 | "beta": 0, 8 | "creation": "2019-02-21 09:23:50.254861", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "title", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Titel", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 0, 56 | "max_attachments": 0, 57 | "modified": "2019-02-21 09:23:50.254861", 58 | "modified_by": "Administrator", 59 | "module": "Lifefair", 60 | "name": "Engagement", 61 | "name_case": "", 62 | "owner": "Administrator", 63 | "permissions": [ 64 | { 65 | "amend": 0, 66 | "apply_user_permissions": 0, 67 | "cancel": 0, 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "if_owner": 0, 73 | "import": 0, 74 | "permlevel": 0, 75 | "print": 1, 76 | "read": 1, 77 | "report": 1, 78 | "role": "System Manager", 79 | "set_user_permissions": 0, 80 | "share": 1, 81 | "submit": 0, 82 | "write": 1 83 | } 84 | ], 85 | "quick_entry": 1, 86 | "read_only": 0, 87 | "read_only_onload": 0, 88 | "show_name_in_global_search": 0, 89 | "sort_field": "modified", 90 | "sort_order": "DESC", 91 | "title_field": "title", 92 | "track_changes": 1, 93 | "track_seen": 0 94 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/stakeholder/stakeholder.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:title", 7 | "beta": 0, 8 | "creation": "2019-02-21 09:18:32.810822", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "title", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Title", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 0, 56 | "max_attachments": 0, 57 | "modified": "2019-02-21 09:18:32.810822", 58 | "modified_by": "Administrator", 59 | "module": "Lifefair", 60 | "name": "Stakeholder", 61 | "name_case": "", 62 | "owner": "Administrator", 63 | "permissions": [ 64 | { 65 | "amend": 0, 66 | "apply_user_permissions": 0, 67 | "cancel": 0, 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "if_owner": 0, 73 | "import": 0, 74 | "permlevel": 0, 75 | "print": 1, 76 | "read": 1, 77 | "report": 1, 78 | "role": "System Manager", 79 | "set_user_permissions": 0, 80 | "share": 1, 81 | "submit": 0, 82 | "write": 1 83 | } 84 | ], 85 | "quick_entry": 1, 86 | "read_only": 0, 87 | "read_only_onload": 0, 88 | "show_name_in_global_search": 0, 89 | "sort_field": "modified", 90 | "sort_order": "DESC", 91 | "title_field": "title", 92 | "track_changes": 1, 93 | "track_seen": 0 94 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/hierarchiestufe/hierarchiestufe.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:title", 7 | "beta": 0, 8 | "creation": "2019-02-21 09:23:17.870075", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "title", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Title", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | } 46 | ], 47 | "has_web_view": 0, 48 | "hide_heading": 0, 49 | "hide_toolbar": 0, 50 | "idx": 0, 51 | "image_view": 0, 52 | "in_create": 0, 53 | "is_submittable": 0, 54 | "issingle": 0, 55 | "istable": 0, 56 | "max_attachments": 0, 57 | "modified": "2019-02-21 09:23:17.870075", 58 | "modified_by": "Administrator", 59 | "module": "Lifefair", 60 | "name": "Hierarchiestufe", 61 | "name_case": "", 62 | "owner": "Administrator", 63 | "permissions": [ 64 | { 65 | "amend": 0, 66 | "apply_user_permissions": 0, 67 | "cancel": 0, 68 | "create": 1, 69 | "delete": 1, 70 | "email": 1, 71 | "export": 1, 72 | "if_owner": 0, 73 | "import": 0, 74 | "permlevel": 0, 75 | "print": 1, 76 | "read": 1, 77 | "report": 1, 78 | "role": "System Manager", 79 | "set_user_permissions": 0, 80 | "share": 1, 81 | "submit": 0, 82 | "write": 1 83 | } 84 | ], 85 | "quick_entry": 1, 86 | "read_only": 0, 87 | "read_only_onload": 0, 88 | "show_name_in_global_search": 0, 89 | "sort_field": "modified", 90 | "sort_order": "DESC", 91 | "title_field": "title", 92 | "track_changes": 1, 93 | "track_seen": 0 94 | } -------------------------------------------------------------------------------- /lifefair/lifefair/web_form/partnership_ticket/partnership_ticket.json: -------------------------------------------------------------------------------- 1 | { 2 | "accept_payment": 0, 3 | "allow_comments": 0, 4 | "allow_delete": 0, 5 | "allow_edit": 1, 6 | "allow_incomplete": 0, 7 | "allow_multiple": 1, 8 | "allow_print": 0, 9 | "amount": 0.0, 10 | "amount_based_on_field": 0, 11 | "breadcrumbs": "", 12 | "button_label": "Speichern", 13 | "creation": "2018-07-12 21:55:28.050994", 14 | "currency": "CHF", 15 | "doc_type": "Partnershipticket", 16 | "docstatus": 0, 17 | "doctype": "Web Form", 18 | "idx": 0, 19 | "introduction_text": "Bitte f\u00fcllen Sie die Tabelle unten mit den Personen aus, die ein Partner-Ticket erhalten sollen. Ohne g\u00fcltige Email-Adresse kann das Ticket nicht ausgestellt werden.
", 20 | "is_standard": 1, 21 | "login_required": 1, 22 | "max_attachment_size": 0, 23 | "modified": "2020-06-09 07:43:24.955125", 24 | "modified_by": "Administrator", 25 | "module": "Lifefair", 26 | "name": "partnership-ticket", 27 | "owner": "Administrator", 28 | "payment_button_label": "Buy Now", 29 | "published": 1, 30 | "route": "partnership_tickets", 31 | "route_to_success_link": 0, 32 | "show_attachments": 0, 33 | "show_in_grid": 0, 34 | "show_sidebar": 1, 35 | "sidebar_items": [], 36 | "success_message": "Vielen Dank. Ihre \u00c4nderungen wurden gespeichert.", 37 | "success_url": "/partnership_tickets", 38 | "title": "Partnership Ticket", 39 | "web_form_fields": [ 40 | { 41 | "allow_read_on_all_link_options": 0, 42 | "fieldname": "person_name", 43 | "fieldtype": "Data", 44 | "hidden": 0, 45 | "label": "Person Name", 46 | "max_length": 0, 47 | "max_value": 0, 48 | "options": "", 49 | "read_only": 1, 50 | "reqd": 0, 51 | "show_in_filter": 0 52 | }, 53 | { 54 | "allow_read_on_all_link_options": 0, 55 | "fieldname": "meeting", 56 | "fieldtype": "Link", 57 | "hidden": 0, 58 | "label": "Meeting", 59 | "max_length": 0, 60 | "max_value": 0, 61 | "options": "Meeting", 62 | "read_only": 1, 63 | "reqd": 1, 64 | "show_in_filter": 0 65 | }, 66 | { 67 | "allow_read_on_all_link_options": 0, 68 | "fieldname": "tickets", 69 | "fieldtype": "Table", 70 | "hidden": 0, 71 | "label": "Tickets", 72 | "max_length": 0, 73 | "max_value": 0, 74 | "options": "Partnership Ticket Item", 75 | "read_only": 0, 76 | "reqd": 0, 77 | "show_in_filter": 0 78 | } 79 | ], 80 | "web_page_link_text": "" 81 | } 82 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnership_ticket/partnership_ticket.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2018-07-12 20:44:35.572178", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "title", 8 | "person", 9 | "meeting", 10 | "column_main", 11 | "responsible", 12 | "person_name", 13 | "section_tickets", 14 | "tickets" 15 | ], 16 | "fields": [ 17 | { 18 | "fieldname": "title", 19 | "fieldtype": "Data", 20 | "in_list_view": 1, 21 | "label": "Title", 22 | "reqd": 1 23 | }, 24 | { 25 | "fieldname": "person", 26 | "fieldtype": "Link", 27 | "label": "Person", 28 | "options": "Person", 29 | "reqd": 1 30 | }, 31 | { 32 | "fieldname": "meeting", 33 | "fieldtype": "Link", 34 | "in_list_view": 1, 35 | "label": "Meeting", 36 | "options": "Meeting", 37 | "reqd": 1 38 | }, 39 | { 40 | "fieldname": "column_main", 41 | "fieldtype": "Column Break" 42 | }, 43 | { 44 | "fetch_from": "person.email", 45 | "fieldname": "responsible", 46 | "fieldtype": "Data", 47 | "label": "Responsible", 48 | "read_only": 1 49 | }, 50 | { 51 | "fetch_from": "person.full_name", 52 | "fieldname": "person_name", 53 | "fieldtype": "Data", 54 | "in_list_view": 1, 55 | "label": "Person Name", 56 | "read_only": 1 57 | }, 58 | { 59 | "fieldname": "section_tickets", 60 | "fieldtype": "Section Break", 61 | "label": "Tickets" 62 | }, 63 | { 64 | "fieldname": "tickets", 65 | "fieldtype": "Table", 66 | "label": "Tickets", 67 | "options": "Partnership Ticket Item" 68 | } 69 | ], 70 | "modified": "2019-09-27 22:50:45.063344", 71 | "modified_by": "lars.mueller@libracore.com", 72 | "module": "Lifefair", 73 | "name": "Partnership Ticket", 74 | "owner": "Administrator", 75 | "permissions": [ 76 | { 77 | "create": 1, 78 | "delete": 1, 79 | "email": 1, 80 | "export": 1, 81 | "print": 1, 82 | "read": 1, 83 | "report": 1, 84 | "role": "System Manager", 85 | "share": 1, 86 | "write": 1 87 | }, 88 | { 89 | "create": 1, 90 | "email": 1, 91 | "export": 1, 92 | "print": 1, 93 | "read": 1, 94 | "report": 1, 95 | "role": "Lifefair User", 96 | "share": 1, 97 | "write": 1 98 | }, 99 | { 100 | "create": 1, 101 | "delete": 1, 102 | "email": 1, 103 | "export": 1, 104 | "print": 1, 105 | "read": 1, 106 | "report": 1, 107 | "role": "Lifefair Manager", 108 | "share": 1, 109 | "write": 1 110 | } 111 | ], 112 | "quick_entry": 1, 113 | "sort_field": "modified", 114 | "sort_order": "DESC", 115 | "title_field": "title", 116 | "track_changes": 1 117 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_salutation/person_salutation.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "beta": 0, 7 | "creation": "2018-05-21 20:34:05.536588", 8 | "custom": 0, 9 | "docstatus": 0, 10 | "doctype": "DocType", 11 | "document_type": "", 12 | "editable_grid": 1, 13 | "engine": "InnoDB", 14 | "fields": [ 15 | { 16 | "allow_bulk_edit": 0, 17 | "allow_on_submit": 0, 18 | "bold": 0, 19 | "collapsible": 0, 20 | "columns": 0, 21 | "fieldname": "salutation", 22 | "fieldtype": "Data", 23 | "hidden": 0, 24 | "ignore_user_permissions": 0, 25 | "ignore_xss_filter": 0, 26 | "in_filter": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 1, 29 | "in_standard_filter": 0, 30 | "label": "Salutation", 31 | "length": 0, 32 | "no_copy": 0, 33 | "options": "", 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "usage", 53 | "fieldtype": "Data", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 1, 60 | "in_standard_filter": 0, 61 | "label": "Usage", 62 | "length": 0, 63 | "no_copy": 0, 64 | "permlevel": 0, 65 | "precision": "", 66 | "print_hide": 0, 67 | "print_hide_if_no_value": 0, 68 | "read_only": 0, 69 | "remember_last_selected_value": 0, 70 | "report_hide": 0, 71 | "reqd": 1, 72 | "search_index": 0, 73 | "set_only_once": 0, 74 | "unique": 0 75 | } 76 | ], 77 | "has_web_view": 0, 78 | "hide_heading": 0, 79 | "hide_toolbar": 0, 80 | "idx": 0, 81 | "image_view": 0, 82 | "in_create": 0, 83 | "is_submittable": 0, 84 | "issingle": 0, 85 | "istable": 1, 86 | "max_attachments": 0, 87 | "modified": "2018-05-26 21:18:47.393818", 88 | "modified_by": "Administrator", 89 | "module": "Lifefair", 90 | "name": "Person Salutation", 91 | "name_case": "", 92 | "owner": "Administrator", 93 | "permissions": [], 94 | "quick_entry": 1, 95 | "read_only": 0, 96 | "read_only_onload": 0, 97 | "show_name_in_global_search": 0, 98 | "sort_field": "modified", 99 | "sort_order": "DESC", 100 | "track_changes": 1, 101 | "track_seen": 0 102 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/prospekt/prospekt.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_rename": 1, 3 | "autoname": "field:block", 4 | "creation": "2021-03-29 17:20:47.717728", 5 | "doctype": "DocType", 6 | "editable_grid": 1, 7 | "engine": "InnoDB", 8 | "field_order": [ 9 | "block_section", 10 | "block", 11 | "deckblatt_und_sponsor_section", 12 | "deckblatt", 13 | "sponer_section", 14 | "partner_seite_7", 15 | "column_break_5", 16 | "partner_seite_8", 17 | "programm_lff_section", 18 | "programm_lff", 19 | "a_bis_z_section", 20 | "a_bis_z" 21 | ], 22 | "fields": [ 23 | { 24 | "fieldname": "deckblatt_und_sponsor_section", 25 | "fieldtype": "Section Break", 26 | "label": "Deckblatt" 27 | }, 28 | { 29 | "fieldname": "deckblatt", 30 | "fieldtype": "Attach Image", 31 | "label": "Deckblatt" 32 | }, 33 | { 34 | "fieldname": "partner_seite_7", 35 | "fieldtype": "Attach Image", 36 | "label": "Partner Seite 7" 37 | }, 38 | { 39 | "fieldname": "partner_seite_8", 40 | "fieldtype": "Attach Image", 41 | "label": "Partner Seite 8" 42 | }, 43 | { 44 | "fieldname": "programm_lff_section", 45 | "fieldtype": "Section Break", 46 | "label": "PROGRAMM LFF" 47 | }, 48 | { 49 | "fieldname": "programm_lff", 50 | "fieldtype": "Table", 51 | "options": "Programm Table" 52 | }, 53 | { 54 | "fieldname": "a_bis_z_section", 55 | "fieldtype": "Section Break", 56 | "label": "A bis Z" 57 | }, 58 | { 59 | "fieldname": "a_bis_z", 60 | "fieldtype": "Table", 61 | "options": "Block A bis Z" 62 | }, 63 | { 64 | "fieldname": "sponer_section", 65 | "fieldtype": "Section Break", 66 | "label": "Sponsoren" 67 | }, 68 | { 69 | "fieldname": "column_break_5", 70 | "fieldtype": "Column Break" 71 | }, 72 | { 73 | "fieldname": "block_section", 74 | "fieldtype": "Section Break", 75 | "label": "Block" 76 | }, 77 | { 78 | "fieldname": "block", 79 | "fieldtype": "Link", 80 | "label": "Block", 81 | "options": "Block", 82 | "unique": 1 83 | } 84 | ], 85 | "modified": "2021-05-18 10:21:28.435697", 86 | "modified_by": "ben.helmy@libracore.com", 87 | "module": "Lifefair", 88 | "name": "Prospekt", 89 | "owner": "Administrator", 90 | "permissions": [ 91 | { 92 | "create": 1, 93 | "delete": 1, 94 | "email": 1, 95 | "export": 1, 96 | "print": 1, 97 | "read": 1, 98 | "report": 1, 99 | "role": "System Manager", 100 | "share": 1, 101 | "write": 1 102 | }, 103 | { 104 | "create": 1, 105 | "delete": 1, 106 | "email": 1, 107 | "export": 1, 108 | "print": 1, 109 | "read": 1, 110 | "report": 1, 111 | "role": "Lifefair User", 112 | "share": 1, 113 | "write": 1 114 | }, 115 | { 116 | "create": 1, 117 | "delete": 1, 118 | "email": 1, 119 | "export": 1, 120 | "print": 1, 121 | "read": 1, 122 | "report": 1, 123 | "role": "Lifefair Admin", 124 | "share": 1, 125 | "write": 1 126 | }, 127 | { 128 | "create": 1, 129 | "delete": 1, 130 | "email": 1, 131 | "export": 1, 132 | "print": 1, 133 | "read": 1, 134 | "report": 1, 135 | "role": "Lifefair Manager", 136 | "share": 1, 137 | "write": 1 138 | } 139 | ], 140 | "quick_entry": 1, 141 | "sort_field": "modified", 142 | "sort_order": "DESC", 143 | "track_changes": 1 144 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/meeting/meeting.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_import": 1, 3 | "allow_rename": 1, 4 | "autoname": "field:title", 5 | "creation": "2018-05-21 17:11:04.450015", 6 | "doctype": "DocType", 7 | "editable_grid": 1, 8 | "engine": "InnoDB", 9 | "field_order": [ 10 | "amended_from", 11 | "title", 12 | "date", 13 | "column_break_4", 14 | "date_date_format", 15 | "section_partnerships", 16 | "partnerships_html", 17 | "interessen_section", 18 | "interesse_1", 19 | "column_break_8", 20 | "interesse_2", 21 | "column_break_10", 22 | "interesse_3" 23 | ], 24 | "fields": [ 25 | { 26 | "fieldname": "amended_from", 27 | "fieldtype": "Link", 28 | "label": "Amended From", 29 | "no_copy": 1, 30 | "options": "Meeting", 31 | "print_hide": 1, 32 | "read_only": 1 33 | }, 34 | { 35 | "fieldname": "title", 36 | "fieldtype": "Data", 37 | "in_list_view": 1, 38 | "label": "Title", 39 | "reqd": 1, 40 | "unique": 1 41 | }, 42 | { 43 | "fieldname": "date", 44 | "fieldtype": "Data", 45 | "label": "Date" 46 | }, 47 | { 48 | "fieldname": "section_partnerships", 49 | "fieldtype": "Section Break", 50 | "label": "Partnerships" 51 | }, 52 | { 53 | "fieldname": "partnerships_html", 54 | "fieldtype": "HTML", 55 | "label": "Partnerships" 56 | }, 57 | { 58 | "fieldname": "interessen_section", 59 | "fieldtype": "Section Break", 60 | "label": "Interessen" 61 | }, 62 | { 63 | "fieldname": "interesse_1", 64 | "fieldtype": "Link", 65 | "label": "Interesse 1", 66 | "options": "Interesse" 67 | }, 68 | { 69 | "fieldname": "column_break_8", 70 | "fieldtype": "Column Break" 71 | }, 72 | { 73 | "fieldname": "interesse_2", 74 | "fieldtype": "Link", 75 | "label": "Interesse 2", 76 | "options": "Interesse" 77 | }, 78 | { 79 | "fieldname": "column_break_10", 80 | "fieldtype": "Column Break" 81 | }, 82 | { 83 | "fieldname": "interesse_3", 84 | "fieldtype": "Link", 85 | "label": "Interesse 3", 86 | "options": "Interesse" 87 | }, 88 | { 89 | "fieldname": "column_break_4", 90 | "fieldtype": "Column Break" 91 | }, 92 | { 93 | "fieldname": "date_date_format", 94 | "fieldtype": "Date", 95 | "label": "Date (Date Format)" 96 | } 97 | ], 98 | "modified": "2021-04-27 13:00:50.089225", 99 | "modified_by": "Administrator", 100 | "module": "Lifefair", 101 | "name": "Meeting", 102 | "owner": "Administrator", 103 | "permissions": [ 104 | { 105 | "create": 1, 106 | "delete": 1, 107 | "email": 1, 108 | "export": 1, 109 | "import": 1, 110 | "print": 1, 111 | "read": 1, 112 | "report": 1, 113 | "role": "System Manager", 114 | "share": 1, 115 | "write": 1 116 | }, 117 | { 118 | "create": 1, 119 | "email": 1, 120 | "export": 1, 121 | "import": 1, 122 | "print": 1, 123 | "read": 1, 124 | "report": 1, 125 | "role": "Lifefair Manager", 126 | "share": 1, 127 | "write": 1 128 | }, 129 | { 130 | "email": 1, 131 | "export": 1, 132 | "print": 1, 133 | "read": 1, 134 | "report": 1, 135 | "role": "Lifefair User", 136 | "share": 1, 137 | "write": 1 138 | } 139 | ], 140 | "quick_entry": 1, 141 | "sort_field": "modified", 142 | "sort_order": "DESC", 143 | "title_field": "title", 144 | "track_changes": 1 145 | } -------------------------------------------------------------------------------- /lifefair/hooks.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from __future__ import unicode_literals 3 | from . import __version__ as app_version 4 | 5 | app_name = "lifefair" 6 | app_title = "Lifefair" 7 | app_publisher = "libracore" 8 | app_description = "Lifefair ERPNext application" 9 | app_icon = "octicon octicon-light-bulb" 10 | app_color = "#f88c00" 11 | app_email = "info@libracore.com" 12 | app_license = "AGPL" 13 | 14 | # Includes in 15 | # ------------------ 16 | 17 | # include js, css files in header of desk.html 18 | # app_include_css = "/assets/lifefair/css/lifefair.css" 19 | # app_include_js = "/assets/lifefair/js/lifefair.js" 20 | 21 | # include js, css files in header of web template 22 | # web_include_css = "/assets/lifefair/css/lifefair.css" 23 | # web_include_js = "/assets/lifefair/js/lifefair.js" 24 | 25 | # include js in page 26 | # page_js = {"page" : "public/js/file.js"} 27 | 28 | # include js in doctype views 29 | # doctype_js = {"doctype" : "public/js/doctype.js"} 30 | doctype_list_js = { 31 | # "Registration" : "public/js/xlsx.full.min.js" 32 | } 33 | # doctype_tree_js = {"doctype" : "public/js/doctype_tree.js"} 34 | # doctype_calendar_js = {"doctype" : "public/js/doctype_calendar.js"} 35 | 36 | # Home Pages 37 | # ---------- 38 | 39 | # application home page (will override Website Settings) 40 | # home_page = "login" 41 | 42 | # website user home page (by Role) 43 | # role_home_page = { 44 | # "Role": "home_page" 45 | # } 46 | 47 | # Website user home page (by function) 48 | # get_website_user_home_page = "lifefair.utils.get_home_page" 49 | 50 | # Generators 51 | # ---------- 52 | 53 | # automatically create page for each record of this doctype 54 | # website_generators = ["Web Page"] 55 | 56 | # Installation 57 | # ------------ 58 | 59 | # before_install = "lifefair.install.before_install" 60 | # after_install = "lifefair.install.after_install" 61 | 62 | # Desk Notifications 63 | # ------------------ 64 | # See frappe.core.notifications.get_notification_config 65 | 66 | # notification_config = "lifefair.notifications.get_notification_config" 67 | 68 | # Permissions 69 | # ----------- 70 | # Permissions evaluated in scripted ways 71 | 72 | # permission_query_conditions = { 73 | # "Event": "frappe.desk.doctype.event.event.get_permission_query_conditions", 74 | # } 75 | # 76 | # has_permission = { 77 | # "Event": "frappe.desk.doctype.event.event.has_permission", 78 | # } 79 | 80 | # Document Events 81 | # --------------- 82 | # Hook on document methods and events 83 | 84 | # doc_events = { 85 | # "*": { 86 | # "on_update": "method", 87 | # "on_cancel": "method", 88 | # "on_trash": "method" 89 | # } 90 | # } 91 | 92 | # Scheduled Tasks 93 | # --------------- 94 | 95 | # scheduler_events = { 96 | # "all": [ 97 | # "lifefair.tasks.all" 98 | # ], 99 | # "daily": [ 100 | # "lifefair.tasks.daily" 101 | # ], 102 | # "hourly": [ 103 | # "lifefair.tasks.hourly" 104 | # ], 105 | # "weekly": [ 106 | # "lifefair.tasks.weekly" 107 | # ] 108 | # "monthly": [ 109 | # "lifefair.tasks.monthly" 110 | # ] 111 | # } 112 | 113 | # Testing 114 | # ------- 115 | 116 | # before_tests = "lifefair.install.before_tests" 117 | 118 | # Overriding Whitelisted Methods 119 | # ------------------------------ 120 | # 121 | # override_whitelisted_methods = { 122 | # "frappe.desk.doctype.event.event.get_events": "lifefair.event.get_events" 123 | # } 124 | 125 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actors_per_meeting/actors_per_meeting.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2018-2021, libracore (https://www.libracore.com) and contributors 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | 7 | 8 | def execute(filters=None): 9 | columns, data = [], [] 10 | 11 | columns = ["Block:Link/Block:150", 12 | "Name::200", 13 | "Website description::200", 14 | "Verbandsmitglied", 15 | "Role::200", 16 | "Person:Link/Person:100", 17 | "Show on website", 18 | "Meeting::100", 19 | "Image", 20 | "Registered", 21 | "Interests" 22 | ] 23 | if filters: 24 | data = get_actors(meeting=filters.meeting, block=filters.block, interests=filters.interests, as_list=True) 25 | else: 26 | data = get_actors(as_list=True) 27 | 28 | return columns, data 29 | 30 | # use as_list=True in case of later Export to Excel 31 | def get_actors(meeting=None, block=None, interests=None, as_list=True): 32 | sql_query = """SELECT 33 | `t2`.`title` AS `Block`, 34 | `t4`.`long_name` AS `Name`, 35 | `t3`.`person_website_description` AS `Website description`, 36 | IFNULL(`t9`.`ist_ver`, 0) AS `Mitglied eines Vereines`, 37 | `t3`.`person_role` AS `Role`, 38 | `t3`.`person` AS `Person`, 39 | `t4`.`show_on_website` AS `Show on website`, 40 | `t1`.`name` AS `Name`, 41 | `t4`.`image` AS `Image`, 42 | /*`t5`.`name` AS `Registered`*/ 43 | (SELECT IF(`t5`.`name` IS NOT NULL, "ja", "nein")) AS `Registered`, 44 | GROUP_CONCAT(`t6`.`interesse`) AS `Interests` 45 | FROM `tabMeeting` AS `t1` 46 | INNER JOIN `tabBlock` AS `t2` ON `t1`.`title` = `t2`.`meeting` 47 | INNER JOIN `tabBlock Planning` AS `t3` ON (`t2`.`title` = `t3`.`parent` AND `t3`.`person` IS NOT NULL) 48 | LEFT JOIN `tabPerson` AS `t4` ON `t3`.`person` = `t4`.`name` 49 | LEFT JOIN `tabRegistration` AS `t5` ON (`t1`.`name` = `t5`.`meeting` AND `t4`.`name` = `t5`.`person`) 50 | LEFT JOIN `tabPerson Interest` AS `t6` ON (`t6`.`parent` = `t4`.`name`) 51 | LEFT JOIN `tabPerson Organisation` AS `t8` ON (`t8`.`parent` = `t4`.`name`) 52 | LEFT JOIN `tabOrganisation` AS `t9` ON (`t9`.`name` = `t8`.`organisation`)""" 53 | if meeting: 54 | sql_query += """ WHERE `t1`.`title` = '{0}'""".format(meeting) 55 | elif block: 56 | sql_query += """ WHERE `t2`.`title` = '{0}'""".format(block) 57 | elif interests: 58 | sql_query += """ 59 | LEFT JOIN `tabBlock Interest` AS `t11` ON `t2`.`name` = `t11`.`parent` 60 | WHERE `t11`.`interest` = '{0}'""".format(interests) 61 | sql_query += """ GROUP BY (CONCAT(`t2`.`title`, `t3`.`person`))""" # removed per role filter (person multiple times) by request 2021-08-16 62 | sql_query += """ ORDER BY `t1`.`title` ASC, `t2`.`title` ASC, `t3`.`idx` ASC""" 63 | # ~ if interests: 64 | # ~ frappe.throw(sql_query) 65 | if as_list: 66 | data = frappe.db.sql(sql_query, as_list = True) 67 | else: 68 | data = frappe.db.sql(sql_query, as_dict = True) 69 | return data 70 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person/person_list.js: -------------------------------------------------------------------------------- 1 | frappe.listview_settings['Person'] = { 2 | onload: function(listview) { 3 | listview.page.add_menu_item( __("Sync MailChimp"), function() { 4 | sync_mailchimp(); 5 | }); 6 | } 7 | } 8 | 9 | function sync_mailchimp() { 10 | // get available lists 11 | load_mailchimp_lists(); 12 | } 13 | 14 | function load_mailchimp_lists() { 15 | frappe.call({ 16 | method: 'lifefair.lifefair.mailchimp.get_lists', 17 | callback: function(r) { 18 | if (r.message) { 19 | // selection dialog 20 | select_dialog(r.message.lists); 21 | } 22 | } 23 | }); 24 | } 25 | 26 | function select_dialog(lists) { 27 | var list_options = ""; 28 | for (var i = 0; i < lists.length; i++) { 29 | list_options += lists[i].name + "\n"; 30 | } 31 | if (list_options.length > 2) { 32 | list_options = list_options.substring(0, list_options.length - 1) 33 | } 34 | var default_list = "" 35 | if (lists.length > 0) { 36 | default_list = lists[0].name; 37 | } 38 | var dlg = new frappe.ui.Dialog({ 39 | 'fields': [ 40 | { 41 | 'fieldname': 'list', 42 | 'fieldtype': 'Select', 43 | 'options': list_options, 44 | 'reqd': 1, 45 | 'label': __("List"), 46 | 'default': default_list 47 | }, 48 | { 49 | 'fieldname': 'type', 50 | 'fieldtype': 'Select', 51 | 'options': "Alle\n2. Welle", 52 | 'reqd': 1, 53 | 'label': __("Type"), 54 | 'default': "Alle" 55 | }, 56 | { 57 | 'fieldname': 'meeting', 58 | 'fieldtype': 'Link', 59 | 'options': "Meeting", 60 | 'label': __("Meeting"), 61 | 'depends_on': 'eval:doc.type == \'2. Welle\'' 62 | } 63 | ], 64 | 'primary_action': function() { 65 | dlg.hide(); 66 | var values = dlg.get_values(); 67 | if ((values.type == "2. Welle") && (!values.meeting)) { 68 | frappe.msgprint( __("Please select a meeting for a second wave." ), __("Warning") ); 69 | } else { 70 | var target_list = ""; 71 | for (var i = 0; i < lists.length; i++) { 72 | if (lists[i].name == values.list) { 73 | target_list = lists[i].id; 74 | } 75 | } 76 | frappe.show_alert( __("Starting sync...") ); 77 | run_sync(target_list, values.type, values.meeting); 78 | } 79 | }, 80 | 'primary_action_label': __('Sync'), 81 | 'title': __("Sync Person with MailChimp") 82 | }); 83 | dlg.show(); 84 | } 85 | 86 | function run_sync(list, type, meeting) { 87 | frappe.call({ 88 | "method": "lifefair.lifefair.mailchimp.enqueue_sync_contacts", 89 | "args": { 90 | 'list_id': list, 91 | 'type': type, 92 | 'meeting': meeting, 93 | 'owner': frappe.user 94 | }, 95 | "callback": function(response) { 96 | // frappe.show_alert( __("MailChimp synchronisation completed.") ); 97 | } 98 | }); 99 | } 100 | 101 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_contact/person_contact.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "beta": 0, 7 | "creation": "2018-05-24 10:46:20.754190", 8 | "custom": 0, 9 | "docstatus": 0, 10 | "doctype": "DocType", 11 | "document_type": "", 12 | "editable_grid": 1, 13 | "engine": "InnoDB", 14 | "fields": [ 15 | { 16 | "allow_bulk_edit": 0, 17 | "allow_on_submit": 0, 18 | "bold": 0, 19 | "collapsible": 0, 20 | "columns": 0, 21 | "fieldname": "person", 22 | "fieldtype": "Link", 23 | "hidden": 0, 24 | "ignore_user_permissions": 0, 25 | "ignore_xss_filter": 0, 26 | "in_filter": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 1, 29 | "in_standard_filter": 0, 30 | "label": "Person", 31 | "length": 0, 32 | "no_copy": 0, 33 | "options": "Person", 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 0, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "person_name", 53 | "fieldtype": "Data", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 1, 60 | "in_standard_filter": 0, 61 | "label": "Name", 62 | "length": 0, 63 | "no_copy": 0, 64 | "options": "person.full_name", 65 | "permlevel": 0, 66 | "precision": "", 67 | "print_hide": 0, 68 | "print_hide_if_no_value": 0, 69 | "read_only": 1, 70 | "remember_last_selected_value": 0, 71 | "report_hide": 0, 72 | "reqd": 0, 73 | "search_index": 0, 74 | "set_only_once": 0, 75 | "unique": 0 76 | }, 77 | { 78 | "allow_bulk_edit": 0, 79 | "allow_on_submit": 0, 80 | "bold": 0, 81 | "collapsible": 0, 82 | "columns": 0, 83 | "fieldname": "function", 84 | "fieldtype": "Data", 85 | "hidden": 0, 86 | "ignore_user_permissions": 0, 87 | "ignore_xss_filter": 0, 88 | "in_filter": 0, 89 | "in_global_search": 0, 90 | "in_list_view": 1, 91 | "in_standard_filter": 0, 92 | "label": "Function", 93 | "length": 0, 94 | "no_copy": 0, 95 | "permlevel": 0, 96 | "precision": "", 97 | "print_hide": 0, 98 | "print_hide_if_no_value": 0, 99 | "read_only": 0, 100 | "remember_last_selected_value": 0, 101 | "report_hide": 0, 102 | "reqd": 0, 103 | "search_index": 0, 104 | "set_only_once": 0, 105 | "unique": 0 106 | } 107 | ], 108 | "has_web_view": 0, 109 | "hide_heading": 0, 110 | "hide_toolbar": 0, 111 | "idx": 0, 112 | "image_view": 0, 113 | "in_create": 0, 114 | "is_submittable": 0, 115 | "issingle": 0, 116 | "istable": 1, 117 | "max_attachments": 0, 118 | "modified": "2018-05-26 19:56:46.254207", 119 | "modified_by": "Administrator", 120 | "module": "Lifefair", 121 | "name": "Person Contact", 122 | "name_case": "", 123 | "owner": "Administrator", 124 | "permissions": [], 125 | "quick_entry": 1, 126 | "read_only": 0, 127 | "read_only_onload": 0, 128 | "show_name_in_global_search": 0, 129 | "sort_field": "modified", 130 | "sort_order": "DESC", 131 | "track_changes": 1, 132 | "track_seen": 0 133 | } -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/newslettercfp/newslettercfp.json: -------------------------------------------------------------------------------- 1 | { 2 | "align_labels_right": 0, 3 | "creation": "2020-01-26 13:29:46.674849", 4 | "custom_format": 1, 5 | "default_print_language": "en", 6 | "disabled": 0, 7 | "doc_type": "Newsletter", 8 | "docstatus": 0, 9 | "doctype": "Print Format", 10 | "font": "Default", 11 | "html": "\n

\nWir laden Sie herzlich ein, am 8. Swiss Green Economy Symposium als
\nAussteller
Ihre Produkte und Dienstleistungen den 1000 hochkar\u00e4tigen
Besuchern zu pr\u00e4sentieren. (Factsheet Ausstellung, Website Ausstellung).

\n
\n\nHier der Link zum Call for Participation, wo Sie Ihr Interesse bis zum
31.01.2019 unverbindlich
bekunden k\u00f6nnen.
Unser Ausstellungsleiter Christian
Rudin ber\u00e4t Sie gerne: +41 79 810 46 50 /rudin@lifefair.ch. Bis zum
28.02.2020 profitieren Sie vom Fr\u00fchbucherrabatt von bis zu 20% (ab 1490 CHF).\n

\n\n

\nWarum sollten Sie diese Chancen nutzen?
\nDasSwiss Green Economy Symposium SGES ist der umfassendste Anlass f\u00fcr
\n Wirtschaft und Nachhaltigkeit in der Schweiz. Es treffen sich je 1000 Entscheider,
\n Umsetzer und Innovatoren aus Wirtschaft (60%), Politik & Verwaltung,
\n Wissenschaft und NGOs.

\n\n Die Themen des SGES 2020 sind: IF.01 Gesundheit, IF.02 Nahrung, IF.03 Bauen &
\n Immobilien, IF.04 Mobilit\u00e4t & Logistik, IF.05 Investieren & Finanzieren, IF.06
\n Tourismus, IF.07 Kommunikation der Nachhaltigkeit (neu), IF.08 Smart Cities, IF.
\n 09 Energie & Klima, IF.10 Internationale M\u00e4rkte & Export, IF.11
Wertsch\u00f6pfungsketten & Textilien, IF.12 Kreislaufwirtschaft & Kunststoffe, IF.13
Digitalisierung.

\n\n Die Innovationsausstellung greift diese Themen auf. Nutzen Sie diese Chancen
und treten Sie in Kontakt mit interessierten Besuchern. Die Teilnehmer der
vergangenen Symposien haben im Durchschnitt je 9 neue Personen kennengelernt,
je 5 neue Ideen entwickelt und potentielle Projektpartner getroffen. Die SGES-
eilnehmer suchen aktiv neues Wissen, neue Produkte und L\u00f6sungen.\n

\n Wir freuen uns auf Ihre unverbindliche Teilnahme am Call for Participation.\n

\n Anne Le Duc, CEO
\n Lifefair \u2013 Dialog-Plattform f\u00fcr Wirtschaft und Nachhaltigkeit\n

\n PS: Das SGES 2020 als Teilnehmer besuchen? Profitieren Sie von 20% Rabatt mit
demearlybird-Tarif(Code S20earlybird20) bis zum 31.01.2020.Anmeldung\n\n\n", 12 | "idx": 0, 13 | "line_breaks": 0, 14 | "modified": "2020-01-28 14:37:06.024468", 15 | "modified_by": "Administrator", 16 | "module": "Lifefair", 17 | "name": "NewsletterCFP", 18 | "owner": "Administrator", 19 | "print_format_builder": 0, 20 | "print_format_type": "Jinja", 21 | "raw_printing": 0, 22 | "show_section_headings": 0, 23 | "standard": "Yes" 24 | } -------------------------------------------------------------------------------- /lifefair/lifefair/print_format/newsletter_cfp/newsletter_cfp.json: -------------------------------------------------------------------------------- 1 | { 2 | "align_labels_right": 0, 3 | "creation": "2020-01-26 13:29:46.674849", 4 | "custom_format": 1, 5 | "default_print_language": "en", 6 | "disabled": 0, 7 | "doc_type": "Newsletter", 8 | "docstatus": 0, 9 | "doctype": "Print Format", 10 | "font": "Default", 11 | "html": "\n

\nWir laden Sie herzlich ein, am 8. Swiss Green Economy Symposium als
\nAussteller
Ihre Produkte und Dienstleistungen den 1000 hochkar\u00e4tigen
Besuchern zu pr\u00e4sentieren. (Factsheet Ausstellung, Website Ausstellung).

\n
\n\nHier der Link zum Call for Participation, wo Sie Ihr Interesse bis zum
31.01.2019 unverbindlich
bekunden k\u00f6nnen.
Unser Ausstellungsleiter Christian
Rudin ber\u00e4t Sie gerne: +41 79 810 46 50 /rudin@lifefair.ch. Bis zum
28.02.2020 profitieren Sie vom Fr\u00fchbucherrabatt von bis zu 20% (ab 1490 CHF).\n

\n\n

\nWarum sollten Sie diese Chancen nutzen?
\nDasSwiss Green Economy Symposium SGES ist der umfassendste Anlass f\u00fcr
\n Wirtschaft und Nachhaltigkeit in der Schweiz. Es treffen sich je 1000 Entscheider,
\n Umsetzer und Innovatoren aus Wirtschaft (60%), Politik & Verwaltung,
\n Wissenschaft und NGOs.

\n\n Die Themen des SGES 2020 sind: IF.01 Gesundheit, IF.02 Nahrung, IF.03 Bauen &
\n Immobilien, IF.04 Mobilit\u00e4t & Logistik, IF.05 Investieren & Finanzieren, IF.06
\n Tourismus, IF.07 Kommunikation der Nachhaltigkeit (neu), IF.08 Smart Cities, IF.
\n 09 Energie & Klima, IF.10 Internationale M\u00e4rkte & Export, IF.11
Wertsch\u00f6pfungsketten & Textilien, IF.12 Kreislaufwirtschaft & Kunststoffe, IF.13
Digitalisierung.

\n\n Die Innovationsausstellung greift diese Themen auf. Nutzen Sie diese Chancen
und treten Sie in Kontakt mit interessierten Besuchern. Die Teilnehmer der
vergangenen Symposien haben im Durchschnitt je 9 neue Personen kennengelernt,
je 5 neue Ideen entwickelt und potentielle Projektpartner getroffen. Die SGES-
eilnehmer suchen aktiv neues Wissen, neue Produkte und L\u00f6sungen.\n

\n Wir freuen uns auf Ihre unverbindliche Teilnahme am Call for Participation.\n

\n Anne Le Duc, CEO
\n Lifefair \u2013 Dialog-Plattform f\u00fcr Wirtschaft und Nachhaltigkeit\n

\n PS: Das SGES 2020 als Teilnehmer besuchen? Profitieren Sie von 20% Rabatt mit
demearlybird-Tarif(Code S20earlybird20) bis zum 31.01.2020.Anmeldung\n\n\n", 12 | "idx": 0, 13 | "line_breaks": 0, 14 | "modified": "2020-01-29 01:04:50.844679", 15 | "modified_by": "Administrator", 16 | "module": "Lifefair", 17 | "name": "Newsletter CFP", 18 | "owner": "Administrator", 19 | "print_format_builder": 0, 20 | "print_format_type": "Jinja", 21 | "raw_printing": 0, 22 | "show_section_headings": 0, 23 | "standard": "Yes" 24 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_group/person_group.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:group", 7 | "beta": 0, 8 | "creation": "2018-05-24 10:53:01.844610", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "group", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Group", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "description", 53 | "fieldtype": "Long Text", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 0, 60 | "in_standard_filter": 0, 61 | "label": "Description", 62 | "length": 0, 63 | "no_copy": 0, 64 | "permlevel": 0, 65 | "precision": "", 66 | "print_hide": 0, 67 | "print_hide_if_no_value": 0, 68 | "read_only": 0, 69 | "remember_last_selected_value": 0, 70 | "report_hide": 0, 71 | "reqd": 0, 72 | "search_index": 0, 73 | "set_only_once": 0, 74 | "unique": 0 75 | } 76 | ], 77 | "has_web_view": 0, 78 | "hide_heading": 0, 79 | "hide_toolbar": 0, 80 | "idx": 0, 81 | "image_view": 0, 82 | "in_create": 0, 83 | "is_submittable": 0, 84 | "issingle": 0, 85 | "istable": 0, 86 | "max_attachments": 0, 87 | "modified": "2018-05-24 14:01:11.016857", 88 | "modified_by": "lars.mueller@libracore.com", 89 | "module": "Lifefair", 90 | "name": "Person Group", 91 | "name_case": "", 92 | "owner": "Administrator", 93 | "permissions": [ 94 | { 95 | "amend": 0, 96 | "apply_user_permissions": 0, 97 | "cancel": 0, 98 | "create": 1, 99 | "delete": 1, 100 | "email": 1, 101 | "export": 1, 102 | "if_owner": 0, 103 | "import": 0, 104 | "permlevel": 0, 105 | "print": 1, 106 | "read": 1, 107 | "report": 1, 108 | "role": "System Manager", 109 | "set_user_permissions": 0, 110 | "share": 1, 111 | "submit": 0, 112 | "write": 1 113 | }, 114 | { 115 | "amend": 0, 116 | "apply_user_permissions": 0, 117 | "cancel": 0, 118 | "create": 1, 119 | "delete": 1, 120 | "email": 1, 121 | "export": 1, 122 | "if_owner": 0, 123 | "import": 0, 124 | "permlevel": 0, 125 | "print": 1, 126 | "read": 1, 127 | "report": 1, 128 | "role": "Lifefair Manager", 129 | "set_user_permissions": 0, 130 | "share": 1, 131 | "submit": 0, 132 | "write": 1 133 | } 134 | ], 135 | "quick_entry": 1, 136 | "read_only": 0, 137 | "read_only_onload": 0, 138 | "show_name_in_global_search": 0, 139 | "sort_field": "modified", 140 | "sort_order": "DESC", 141 | "title_field": "group", 142 | "track_changes": 1, 143 | "track_seen": 0 144 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation_type/organisation_type.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "field:type", 7 | "beta": 0, 8 | "creation": "2018-05-24 11:02:58.254641", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "type", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Type", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "description", 53 | "fieldtype": "Long Text", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 0, 60 | "in_standard_filter": 0, 61 | "label": "Description", 62 | "length": 0, 63 | "no_copy": 0, 64 | "permlevel": 0, 65 | "precision": "", 66 | "print_hide": 0, 67 | "print_hide_if_no_value": 0, 68 | "read_only": 0, 69 | "remember_last_selected_value": 0, 70 | "report_hide": 0, 71 | "reqd": 0, 72 | "search_index": 0, 73 | "set_only_once": 0, 74 | "unique": 0 75 | } 76 | ], 77 | "has_web_view": 0, 78 | "hide_heading": 0, 79 | "hide_toolbar": 0, 80 | "idx": 0, 81 | "image_view": 0, 82 | "in_create": 0, 83 | "is_submittable": 0, 84 | "issingle": 0, 85 | "istable": 0, 86 | "max_attachments": 0, 87 | "modified": "2018-05-24 14:00:58.085830", 88 | "modified_by": "lars.mueller@libracore.com", 89 | "module": "Lifefair", 90 | "name": "Organisation Type", 91 | "name_case": "", 92 | "owner": "Administrator", 93 | "permissions": [ 94 | { 95 | "amend": 0, 96 | "apply_user_permissions": 0, 97 | "cancel": 0, 98 | "create": 1, 99 | "delete": 1, 100 | "email": 1, 101 | "export": 1, 102 | "if_owner": 0, 103 | "import": 0, 104 | "permlevel": 0, 105 | "print": 1, 106 | "read": 1, 107 | "report": 1, 108 | "role": "System Manager", 109 | "set_user_permissions": 0, 110 | "share": 1, 111 | "submit": 0, 112 | "write": 1 113 | }, 114 | { 115 | "amend": 0, 116 | "apply_user_permissions": 0, 117 | "cancel": 0, 118 | "create": 1, 119 | "delete": 1, 120 | "email": 1, 121 | "export": 1, 122 | "if_owner": 0, 123 | "import": 0, 124 | "permlevel": 0, 125 | "print": 1, 126 | "read": 1, 127 | "report": 1, 128 | "role": "Lifefair Manager", 129 | "set_user_permissions": 0, 130 | "share": 1, 131 | "submit": 0, 132 | "write": 1 133 | } 134 | ], 135 | "quick_entry": 1, 136 | "read_only": 0, 137 | "read_only_onload": 0, 138 | "show_name_in_global_search": 0, 139 | "sort_field": "modified", 140 | "sort_order": "DESC", 141 | "title_field": "type", 142 | "track_changes": 1, 143 | "track_seen": 0 144 | } -------------------------------------------------------------------------------- /lifefair/lifefair/report/kontakte_nach_interessen/kontakte_nach_interessen.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | # Copyright (c) 2019, libracore and contributors 3 | # For license information, please see license.txt 4 | 5 | from __future__ import unicode_literals 6 | import frappe 7 | 8 | def execute(filters=None): 9 | columns, data = [], [] 10 | 11 | columns = ["Person:Link/Person:100", 12 | "Name::200", 13 | "Last name::200", 14 | "Letter salutation::150", 15 | "Website description::200", 16 | "Primary Organisation::200", 17 | "Email::200", 18 | "Company phone::100", 19 | "Hierarchie::100", 20 | "Engagement::100", 21 | "Interesse", 22 | "Nur einmal kontaktieren::50" 23 | ] 24 | if filters: 25 | if filters.interest1: 26 | interest1 = "%{0}%".format(filters.interest1) 27 | else: 28 | interest1 = "%" 29 | if filters.interest2: 30 | interest2 = "%{0}%".format(filters.interest2) 31 | else: 32 | interest2 = "%" 33 | if filters.interest3: 34 | interest3 = "%{0}%".format(filters.interest3) 35 | else: 36 | interest3 = "%" 37 | if filters.interest4: 38 | interest4 = "%{0}%".format(filters.interest4) 39 | else: 40 | interest4 = "%" 41 | if filters.interest5: 42 | interest5 = "%{0}%".format(filters.interest5) 43 | else: 44 | interest5 = "%" 45 | data = get_people(interest1=interest1, interest2=interest2, 46 | interest3=interest3, interest4=interest4, interest5=interest5, 47 | as_list=True) 48 | else: 49 | data = get_people(as_list=True) 50 | 51 | return columns, data 52 | 53 | # use as_list=True in case of later Export to Excel 54 | def get_people(interest1="%", interest2="%", 55 | interest3="%", interest4="%", interest5="%", as_list=True): 56 | sql_query = """SELECT 57 | `t2`.`name` AS `Person`, 58 | `t2`.`long_name` AS `Name`, 59 | `t2`.`last_name` AS `Last name`, 60 | `t2`.`letter_salutation` AS `Letter salutation`, 61 | `t2`.`website_description` AS `Website description`, 62 | `t2`.`primary_organisation` AS `Primary Organisation`, 63 | `t2`.`email` AS `Email`, 64 | `t2`.`company_phone` AS `Company phone`, 65 | `t2`.`hierarchiestufe` AS `Hierarchie`, 66 | `t2`.`engagement` AS `Engagement`, 67 | `t1`.`interest` AS `Interest`, 68 | `t2`.`nur_einmal_kontaktieren` AS `Nur einmal kontaktieren` 69 | FROM (SELECT 70 | `parent` AS `person`, 71 | GROUP_CONCAT(`interesse`) AS `interest` 72 | FROM `tabPerson Interest` 73 | GROUP BY `parent`) AS `t1` 74 | LEFT JOIN `tabPerson` AS `t2` ON `t1`.`person` = `t2`.`name` 75 | WHERE 76 | `t1`.`interest` LIKE "{0}" 77 | AND `t1`.`interest` LIKE "{1}" 78 | AND `t1`.`interest` LIKE "{2}" 79 | AND `t1`.`interest` LIKE "{3}" 80 | AND `t1`.`interest` LIKE "{4}" 81 | ORDER BY `t2`.`long_name` ASC""".format(interest1,interest2,interest3,interest4,interest5) 82 | if as_list: 83 | data = frappe.db.sql(sql_query, as_list = True) 84 | else: 85 | data = frappe.db.sql(sql_query, as_dict = True) 86 | return data 87 | -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/exhibition_contact/exhibition_contact.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "autoname": "", 7 | "beta": 0, 8 | "creation": "2019-07-31 09:22:06.349280", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "person", 23 | "fieldtype": "Link", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Person", 32 | "length": 0, 33 | "no_copy": 0, 34 | "options": "Person", 35 | "permlevel": 0, 36 | "precision": "", 37 | "print_hide": 0, 38 | "print_hide_if_no_value": 0, 39 | "read_only": 0, 40 | "remember_last_selected_value": 0, 41 | "report_hide": 0, 42 | "reqd": 1, 43 | "search_index": 0, 44 | "set_only_once": 0, 45 | "unique": 0 46 | }, 47 | { 48 | "allow_bulk_edit": 0, 49 | "allow_on_submit": 0, 50 | "bold": 0, 51 | "collapsible": 0, 52 | "columns": 0, 53 | "default": "", 54 | "fieldname": "full_name", 55 | "fieldtype": "Data", 56 | "hidden": 0, 57 | "ignore_user_permissions": 0, 58 | "ignore_xss_filter": 0, 59 | "in_filter": 0, 60 | "in_global_search": 0, 61 | "in_list_view": 1, 62 | "in_standard_filter": 0, 63 | "label": "Full name", 64 | "length": 0, 65 | "no_copy": 0, 66 | "options": "person.full_name", 67 | "permlevel": 0, 68 | "precision": "", 69 | "print_hide": 0, 70 | "print_hide_if_no_value": 0, 71 | "read_only": 1, 72 | "remember_last_selected_value": 0, 73 | "report_hide": 0, 74 | "reqd": 0, 75 | "search_index": 0, 76 | "set_only_once": 0, 77 | "unique": 0 78 | }, 79 | { 80 | "allow_bulk_edit": 0, 81 | "allow_on_submit": 0, 82 | "bold": 0, 83 | "collapsible": 0, 84 | "columns": 0, 85 | "default": "", 86 | "fieldname": "website_description", 87 | "fieldtype": "Data", 88 | "hidden": 0, 89 | "ignore_user_permissions": 0, 90 | "ignore_xss_filter": 0, 91 | "in_filter": 0, 92 | "in_global_search": 0, 93 | "in_list_view": 0, 94 | "in_standard_filter": 0, 95 | "label": "Website description", 96 | "length": 0, 97 | "no_copy": 0, 98 | "options": "person.website_description", 99 | "permlevel": 0, 100 | "precision": "", 101 | "print_hide": 0, 102 | "print_hide_if_no_value": 0, 103 | "read_only": 0, 104 | "remember_last_selected_value": 0, 105 | "report_hide": 0, 106 | "reqd": 0, 107 | "search_index": 0, 108 | "set_only_once": 0, 109 | "unique": 0 110 | } 111 | ], 112 | "has_web_view": 0, 113 | "hide_heading": 0, 114 | "hide_toolbar": 0, 115 | "idx": 0, 116 | "image_view": 0, 117 | "in_create": 0, 118 | "is_submittable": 0, 119 | "issingle": 0, 120 | "istable": 1, 121 | "max_attachments": 0, 122 | "modified": "2019-07-31 10:53:41.265746", 123 | "modified_by": "Administrator", 124 | "module": "Lifefair", 125 | "name": "Exhibition Contact", 126 | "name_case": "", 127 | "owner": "Administrator", 128 | "permissions": [], 129 | "quick_entry": 1, 130 | "read_only": 0, 131 | "read_only_onload": 0, 132 | "show_name_in_global_search": 0, 133 | "sort_field": "modified", 134 | "sort_order": "DESC", 135 | "track_changes": 1, 136 | "track_seen": 0 137 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/partnershipticket/partnershipticket.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2018-07-12 20:44:35.572178", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "ticket_count", 8 | "person_count", 9 | "registration_count", 10 | "missing_registrations", 11 | "title", 12 | "person", 13 | "meeting", 14 | "column_main", 15 | "responsible", 16 | "person_name", 17 | "section_ticket_overview", 18 | "ticket_overview_html", 19 | "section_tickets", 20 | "tickets" 21 | ], 22 | "fields": [ 23 | { 24 | "fieldname": "ticket_count", 25 | "fieldtype": "Int", 26 | "hidden": 1, 27 | "label": "Ticket count" 28 | }, 29 | { 30 | "fieldname": "person_count", 31 | "fieldtype": "Int", 32 | "hidden": 1, 33 | "label": "Person count" 34 | }, 35 | { 36 | "fieldname": "registration_count", 37 | "fieldtype": "Int", 38 | "hidden": 1, 39 | "label": "Registration count" 40 | }, 41 | { 42 | "fieldname": "missing_registrations", 43 | "fieldtype": "Int", 44 | "hidden": 1, 45 | "label": "Missing registrations" 46 | }, 47 | { 48 | "fieldname": "title", 49 | "fieldtype": "Data", 50 | "in_list_view": 1, 51 | "in_standard_filter": 1, 52 | "label": "Title", 53 | "reqd": 1 54 | }, 55 | { 56 | "fieldname": "person", 57 | "fieldtype": "Link", 58 | "label": "Person", 59 | "options": "Person", 60 | "reqd": 1 61 | }, 62 | { 63 | "fieldname": "meeting", 64 | "fieldtype": "Link", 65 | "in_list_view": 1, 66 | "in_standard_filter": 1, 67 | "label": "Meeting", 68 | "options": "Meeting", 69 | "reqd": 1 70 | }, 71 | { 72 | "fieldname": "column_main", 73 | "fieldtype": "Column Break" 74 | }, 75 | { 76 | "fetch_from": "person.email", 77 | "fieldname": "responsible", 78 | "fieldtype": "Data", 79 | "label": "Responsible", 80 | "read_only": 1 81 | }, 82 | { 83 | "fetch_from": "person.full_name", 84 | "fieldname": "person_name", 85 | "fieldtype": "Data", 86 | "in_list_view": 1, 87 | "in_standard_filter": 1, 88 | "label": "Person Name", 89 | "read_only": 1 90 | }, 91 | { 92 | "collapsible": 1, 93 | "fieldname": "section_ticket_overview", 94 | "fieldtype": "Section Break", 95 | "label": "Ticket Overview" 96 | }, 97 | { 98 | "fieldname": "ticket_overview_html", 99 | "fieldtype": "HTML", 100 | "label": "Ticket Overview" 101 | }, 102 | { 103 | "fieldname": "section_tickets", 104 | "fieldtype": "Section Break", 105 | "label": "Tickets" 106 | }, 107 | { 108 | "fieldname": "tickets", 109 | "fieldtype": "Table", 110 | "label": "Tickets", 111 | "options": "Partnership Ticket Item" 112 | } 113 | ], 114 | "modified": "2022-07-19 13:19:21.156409", 115 | "modified_by": "Administrator", 116 | "module": "Lifefair", 117 | "name": "Partnershipticket", 118 | "owner": "Administrator", 119 | "permissions": [ 120 | { 121 | "create": 1, 122 | "delete": 1, 123 | "email": 1, 124 | "export": 1, 125 | "print": 1, 126 | "read": 1, 127 | "report": 1, 128 | "role": "System Manager", 129 | "share": 1, 130 | "write": 1 131 | }, 132 | { 133 | "create": 1, 134 | "email": 1, 135 | "export": 1, 136 | "print": 1, 137 | "read": 1, 138 | "report": 1, 139 | "role": "Lifefair User", 140 | "share": 1, 141 | "write": 1 142 | }, 143 | { 144 | "create": 1, 145 | "delete": 1, 146 | "email": 1, 147 | "export": 1, 148 | "print": 1, 149 | "read": 1, 150 | "report": 1, 151 | "role": "Lifefair Manager", 152 | "share": 1, 153 | "write": 1 154 | } 155 | ], 156 | "quick_entry": 1, 157 | "sort_field": "modified", 158 | "sort_order": "DESC", 159 | "title_field": "title", 160 | "track_changes": 1 161 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/ticketing_settings/ticketing_settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "creation": "2022-06-15 14:56:35.568113", 3 | "doctype": "DocType", 4 | "editable_grid": 1, 5 | "engine": "InnoDB", 6 | "field_order": [ 7 | "company", 8 | "ticket_item", 9 | "disable_how_company_visits", 10 | "column_general", 11 | "sales_taxes", 12 | "email_clerk", 13 | "section_stripe", 14 | "stripe_name", 15 | "stripe", 16 | "column_stripe", 17 | "stripe_api_key", 18 | "success_url", 19 | "cancel_url", 20 | "pos_section", 21 | "pos_profile", 22 | "column_pos", 23 | "mode_of_payment" 24 | ], 25 | "fields": [ 26 | { 27 | "fieldname": "ticket_item", 28 | "fieldtype": "Link", 29 | "in_list_view": 1, 30 | "label": "Ticket Item", 31 | "options": "Item", 32 | "reqd": 1 33 | }, 34 | { 35 | "fieldname": "sales_taxes", 36 | "fieldtype": "Link", 37 | "label": "Sales Taxes and Charges Template", 38 | "options": "Sales Taxes and Charges Template" 39 | }, 40 | { 41 | "fieldname": "stripe", 42 | "fieldtype": "Link", 43 | "label": "Stripe Account", 44 | "options": "Account" 45 | }, 46 | { 47 | "fieldname": "email_clerk", 48 | "fieldtype": "Data", 49 | "label": "Email Clerk" 50 | }, 51 | { 52 | "fieldname": "company", 53 | "fieldtype": "Link", 54 | "label": "Company", 55 | "options": "Company", 56 | "reqd": 1 57 | }, 58 | { 59 | "fieldname": "stripe_api_key", 60 | "fieldtype": "Data", 61 | "label": "Stripe Api Key", 62 | "reqd": 1 63 | }, 64 | { 65 | "fieldname": "stripe_name", 66 | "fieldtype": "Data", 67 | "label": "Stripe Checkout Title" 68 | }, 69 | { 70 | "fieldname": "success_url", 71 | "fieldtype": "Data", 72 | "label": "Success URL", 73 | "reqd": 1 74 | }, 75 | { 76 | "fieldname": "cancel_url", 77 | "fieldtype": "Data", 78 | "label": "Cancel URL", 79 | "reqd": 1 80 | }, 81 | { 82 | "fieldname": "section_stripe", 83 | "fieldtype": "Section Break", 84 | "label": "Stripe" 85 | }, 86 | { 87 | "fieldname": "column_stripe", 88 | "fieldtype": "Column Break" 89 | }, 90 | { 91 | "fieldname": "column_general", 92 | "fieldtype": "Column Break" 93 | }, 94 | { 95 | "fieldname": "mode_of_payment", 96 | "fieldtype": "Link", 97 | "label": "Mode of Payment", 98 | "options": "Mode of Payment", 99 | "reqd": 1 100 | }, 101 | { 102 | "fieldname": "pos_section", 103 | "fieldtype": "Section Break", 104 | "label": "POS Profile" 105 | }, 106 | { 107 | "fieldname": "column_pos", 108 | "fieldtype": "Column Break" 109 | }, 110 | { 111 | "fieldname": "pos_profile", 112 | "fieldtype": "Link", 113 | "label": "POS Profile", 114 | "options": "POS Profile", 115 | "reqd": 1 116 | }, 117 | { 118 | "default": "0", 119 | "fieldname": "disable_how_company_visits", 120 | "fieldtype": "Check", 121 | "label": "disable how company visits" 122 | } 123 | ], 124 | "issingle": 1, 125 | "modified": "2023-06-07 17:17:13.940900", 126 | "modified_by": "Administrator", 127 | "module": "Lifefair", 128 | "name": "Ticketing Settings", 129 | "owner": "Administrator", 130 | "permissions": [ 131 | { 132 | "create": 1, 133 | "delete": 1, 134 | "email": 1, 135 | "print": 1, 136 | "read": 1, 137 | "role": "System Manager", 138 | "share": 1, 139 | "write": 1 140 | }, 141 | { 142 | "email": 1, 143 | "print": 1, 144 | "read": 1, 145 | "role": "Lifefair User", 146 | "share": 1 147 | }, 148 | { 149 | "create": 1, 150 | "email": 1, 151 | "print": 1, 152 | "read": 1, 153 | "role": "Lifefair Manager", 154 | "share": 1, 155 | "write": 1 156 | } 157 | ], 158 | "quick_entry": 1, 159 | "sort_field": "modified", 160 | "sort_order": "DESC", 161 | "track_changes": 1 162 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/web_format/web_format.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 1, 6 | "autoname": "field:title", 7 | "beta": 0, 8 | "creation": "2019-04-08 21:53:59.827869", 9 | "custom": 0, 10 | "docstatus": 0, 11 | "doctype": "DocType", 12 | "document_type": "", 13 | "editable_grid": 1, 14 | "engine": "InnoDB", 15 | "fields": [ 16 | { 17 | "allow_bulk_edit": 0, 18 | "allow_on_submit": 0, 19 | "bold": 0, 20 | "collapsible": 0, 21 | "columns": 0, 22 | "fieldname": "title", 23 | "fieldtype": "Data", 24 | "hidden": 0, 25 | "ignore_user_permissions": 0, 26 | "ignore_xss_filter": 0, 27 | "in_filter": 0, 28 | "in_global_search": 0, 29 | "in_list_view": 1, 30 | "in_standard_filter": 0, 31 | "label": "Title", 32 | "length": 0, 33 | "no_copy": 0, 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "start_code", 53 | "fieldtype": "Code", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 0, 60 | "in_standard_filter": 0, 61 | "label": "Start Code", 62 | "length": 0, 63 | "no_copy": 0, 64 | "permlevel": 0, 65 | "precision": "", 66 | "print_hide": 0, 67 | "print_hide_if_no_value": 0, 68 | "read_only": 0, 69 | "remember_last_selected_value": 0, 70 | "report_hide": 0, 71 | "reqd": 0, 72 | "search_index": 0, 73 | "set_only_once": 0, 74 | "unique": 0 75 | }, 76 | { 77 | "allow_bulk_edit": 0, 78 | "allow_on_submit": 0, 79 | "bold": 0, 80 | "collapsible": 0, 81 | "columns": 0, 82 | "fieldname": "end_code", 83 | "fieldtype": "Code", 84 | "hidden": 0, 85 | "ignore_user_permissions": 0, 86 | "ignore_xss_filter": 0, 87 | "in_filter": 0, 88 | "in_global_search": 0, 89 | "in_list_view": 0, 90 | "in_standard_filter": 0, 91 | "label": "End Code", 92 | "length": 0, 93 | "no_copy": 0, 94 | "permlevel": 0, 95 | "precision": "", 96 | "print_hide": 0, 97 | "print_hide_if_no_value": 0, 98 | "read_only": 0, 99 | "remember_last_selected_value": 0, 100 | "report_hide": 0, 101 | "reqd": 0, 102 | "search_index": 0, 103 | "set_only_once": 0, 104 | "unique": 0 105 | } 106 | ], 107 | "has_web_view": 0, 108 | "hide_heading": 0, 109 | "hide_toolbar": 0, 110 | "idx": 0, 111 | "image_view": 0, 112 | "in_create": 0, 113 | "is_submittable": 0, 114 | "issingle": 0, 115 | "istable": 0, 116 | "max_attachments": 0, 117 | "modified": "2019-04-11 17:11:22.328665", 118 | "modified_by": "Administrator", 119 | "module": "Lifefair", 120 | "name": "Web Format", 121 | "name_case": "", 122 | "owner": "Administrator", 123 | "permissions": [ 124 | { 125 | "amend": 0, 126 | "apply_user_permissions": 0, 127 | "cancel": 0, 128 | "create": 1, 129 | "delete": 1, 130 | "email": 1, 131 | "export": 1, 132 | "if_owner": 0, 133 | "import": 0, 134 | "permlevel": 0, 135 | "print": 1, 136 | "read": 1, 137 | "report": 1, 138 | "role": "System Manager", 139 | "set_user_permissions": 0, 140 | "share": 1, 141 | "submit": 0, 142 | "write": 1 143 | } 144 | ], 145 | "quick_entry": 0, 146 | "read_only": 0, 147 | "read_only_onload": 0, 148 | "show_name_in_global_search": 0, 149 | "sort_field": "modified", 150 | "sort_order": "DESC", 151 | "title_field": "title", 152 | "track_changes": 1, 153 | "track_seen": 0 154 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/person_organisation/person_organisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_copy": 0, 3 | "allow_guest_to_view": 0, 4 | "allow_import": 0, 5 | "allow_rename": 0, 6 | "beta": 0, 7 | "creation": "2018-05-21 20:26:27.515739", 8 | "custom": 0, 9 | "docstatus": 0, 10 | "doctype": "DocType", 11 | "document_type": "", 12 | "editable_grid": 1, 13 | "engine": "InnoDB", 14 | "fields": [ 15 | { 16 | "allow_bulk_edit": 0, 17 | "allow_on_submit": 0, 18 | "bold": 0, 19 | "collapsible": 0, 20 | "columns": 0, 21 | "fieldname": "organisation", 22 | "fieldtype": "Link", 23 | "hidden": 0, 24 | "ignore_user_permissions": 0, 25 | "ignore_xss_filter": 0, 26 | "in_filter": 0, 27 | "in_global_search": 0, 28 | "in_list_view": 1, 29 | "in_standard_filter": 0, 30 | "label": "Organisation", 31 | "length": 0, 32 | "no_copy": 0, 33 | "options": "Organisation", 34 | "permlevel": 0, 35 | "precision": "", 36 | "print_hide": 0, 37 | "print_hide_if_no_value": 0, 38 | "read_only": 0, 39 | "remember_last_selected_value": 0, 40 | "report_hide": 0, 41 | "reqd": 1, 42 | "search_index": 0, 43 | "set_only_once": 0, 44 | "unique": 0 45 | }, 46 | { 47 | "allow_bulk_edit": 0, 48 | "allow_on_submit": 0, 49 | "bold": 0, 50 | "collapsible": 0, 51 | "columns": 0, 52 | "fieldname": "function", 53 | "fieldtype": "Data", 54 | "hidden": 0, 55 | "ignore_user_permissions": 0, 56 | "ignore_xss_filter": 0, 57 | "in_filter": 0, 58 | "in_global_search": 0, 59 | "in_list_view": 1, 60 | "in_standard_filter": 0, 61 | "label": "Function", 62 | "length": 0, 63 | "no_copy": 0, 64 | "permlevel": 0, 65 | "precision": "", 66 | "print_hide": 0, 67 | "print_hide_if_no_value": 0, 68 | "read_only": 0, 69 | "remember_last_selected_value": 0, 70 | "report_hide": 0, 71 | "reqd": 1, 72 | "search_index": 0, 73 | "set_only_once": 0, 74 | "unique": 0 75 | }, 76 | { 77 | "allow_bulk_edit": 0, 78 | "allow_on_submit": 0, 79 | "bold": 0, 80 | "collapsible": 0, 81 | "columns": 0, 82 | "fieldname": "is_primary", 83 | "fieldtype": "Check", 84 | "hidden": 0, 85 | "ignore_user_permissions": 0, 86 | "ignore_xss_filter": 0, 87 | "in_filter": 0, 88 | "in_global_search": 0, 89 | "in_list_view": 1, 90 | "in_standard_filter": 0, 91 | "label": "Primary", 92 | "length": 0, 93 | "no_copy": 0, 94 | "permlevel": 0, 95 | "precision": "", 96 | "print_hide": 0, 97 | "print_hide_if_no_value": 0, 98 | "read_only": 0, 99 | "remember_last_selected_value": 0, 100 | "report_hide": 0, 101 | "reqd": 0, 102 | "search_index": 0, 103 | "set_only_once": 0, 104 | "unique": 0 105 | }, 106 | { 107 | "allow_bulk_edit": 0, 108 | "allow_on_submit": 0, 109 | "bold": 0, 110 | "collapsible": 0, 111 | "columns": 0, 112 | "fieldname": "notes", 113 | "fieldtype": "Data", 114 | "hidden": 0, 115 | "ignore_user_permissions": 0, 116 | "ignore_xss_filter": 0, 117 | "in_filter": 0, 118 | "in_global_search": 0, 119 | "in_list_view": 1, 120 | "in_standard_filter": 0, 121 | "label": "Notes", 122 | "length": 0, 123 | "no_copy": 0, 124 | "permlevel": 0, 125 | "precision": "", 126 | "print_hide": 0, 127 | "print_hide_if_no_value": 0, 128 | "read_only": 0, 129 | "remember_last_selected_value": 0, 130 | "report_hide": 0, 131 | "reqd": 0, 132 | "search_index": 0, 133 | "set_only_once": 0, 134 | "unique": 0 135 | } 136 | ], 137 | "has_web_view": 0, 138 | "hide_heading": 0, 139 | "hide_toolbar": 0, 140 | "idx": 0, 141 | "image_view": 0, 142 | "in_create": 0, 143 | "is_submittable": 0, 144 | "issingle": 0, 145 | "istable": 1, 146 | "max_attachments": 0, 147 | "modified": "2018-05-21 20:30:43.384025", 148 | "modified_by": "Administrator", 149 | "module": "Lifefair", 150 | "name": "Person Organisation", 151 | "name_case": "", 152 | "owner": "Administrator", 153 | "permissions": [], 154 | "quick_entry": 1, 155 | "read_only": 0, 156 | "read_only_onload": 0, 157 | "show_name_in_global_search": 0, 158 | "sort_field": "modified", 159 | "sort_order": "DESC", 160 | "track_changes": 1, 161 | "track_seen": 0 162 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/organisation/organisation.json: -------------------------------------------------------------------------------- 1 | { 2 | "allow_import": 1, 3 | "allow_rename": 1, 4 | "autoname": "field:official_name", 5 | "creation": "2018-05-20 21:32:54.135327", 6 | "doctype": "DocType", 7 | "document_type": "Other", 8 | "editable_grid": 1, 9 | "engine": "InnoDB", 10 | "field_order": [ 11 | "official_name", 12 | "type", 13 | "image", 14 | "homepage", 15 | "ist_ver", 16 | "ist_kein_ver", 17 | "column_general", 18 | "alternative_names", 19 | "french_name", 20 | "english_name", 21 | "italian_name", 22 | "section_addresses", 23 | "address_html", 24 | "section_people", 25 | "people_html", 26 | "section_common_contact", 27 | "email", 28 | "letter_salutation", 29 | "section_partnerships", 30 | "partnerships" 31 | ], 32 | "fields": [ 33 | { 34 | "fieldname": "official_name", 35 | "fieldtype": "Data", 36 | "in_list_view": 1, 37 | "label": "Official name", 38 | "reqd": 1, 39 | "unique": 1 40 | }, 41 | { 42 | "fieldname": "type", 43 | "fieldtype": "Link", 44 | "label": "Stakeholder", 45 | "options": "Organisation Type" 46 | }, 47 | { 48 | "fieldname": "image", 49 | "fieldtype": "Attach Image", 50 | "hidden": 1, 51 | "label": "Image" 52 | }, 53 | { 54 | "fieldname": "homepage", 55 | "fieldtype": "Data", 56 | "label": "Homepage" 57 | }, 58 | { 59 | "fieldname": "column_general", 60 | "fieldtype": "Column Break" 61 | }, 62 | { 63 | "fieldname": "alternative_names", 64 | "fieldtype": "Data", 65 | "in_global_search": 1, 66 | "in_standard_filter": 1, 67 | "label": "Alternative names" 68 | }, 69 | { 70 | "fieldname": "french_name", 71 | "fieldtype": "Data", 72 | "label": "French name" 73 | }, 74 | { 75 | "fieldname": "english_name", 76 | "fieldtype": "Data", 77 | "label": "English name" 78 | }, 79 | { 80 | "fieldname": "italian_name", 81 | "fieldtype": "Data", 82 | "label": "Italian name" 83 | }, 84 | { 85 | "fieldname": "section_addresses", 86 | "fieldtype": "Section Break", 87 | "label": "Addresses" 88 | }, 89 | { 90 | "fieldname": "address_html", 91 | "fieldtype": "HTML", 92 | "label": "Addresses" 93 | }, 94 | { 95 | "fieldname": "section_people", 96 | "fieldtype": "Section Break", 97 | "label": "People" 98 | }, 99 | { 100 | "fieldname": "people_html", 101 | "fieldtype": "HTML", 102 | "label": "People" 103 | }, 104 | { 105 | "fieldname": "section_common_contact", 106 | "fieldtype": "Section Break", 107 | "label": "Common contact" 108 | }, 109 | { 110 | "fieldname": "email", 111 | "fieldtype": "Data", 112 | "label": "Email" 113 | }, 114 | { 115 | "fieldname": "letter_salutation", 116 | "fieldtype": "Select", 117 | "label": "Letter salutation", 118 | "options": "\nSehr geehrte Damen und Herren" 119 | }, 120 | { 121 | "fieldname": "section_partnerships", 122 | "fieldtype": "Section Break", 123 | "label": "Partnerships" 124 | }, 125 | { 126 | "fieldname": "partnerships", 127 | "fieldtype": "Table", 128 | "label": "Partnerships", 129 | "options": "Organisation Partnership" 130 | }, 131 | { 132 | "default": "0", 133 | "fieldname": "ist_ver", 134 | "fieldtype": "Check", 135 | "label": "Ist Verband " 136 | }, 137 | { 138 | "default": "0", 139 | "fieldname": "ist_kein_ver", 140 | "fieldtype": "Check", 141 | "label": "Ist kein Verband" 142 | } 143 | ], 144 | "image_field": "image", 145 | "modified": "2021-05-23 15:34:11.640935", 146 | "modified_by": "Administrator", 147 | "module": "Lifefair", 148 | "name": "Organisation", 149 | "owner": "Administrator", 150 | "permissions": [ 151 | { 152 | "create": 1, 153 | "delete": 1, 154 | "email": 1, 155 | "export": 1, 156 | "print": 1, 157 | "read": 1, 158 | "report": 1, 159 | "role": "System Manager", 160 | "share": 1, 161 | "write": 1 162 | }, 163 | { 164 | "create": 1, 165 | "email": 1, 166 | "export": 1, 167 | "import": 1, 168 | "print": 1, 169 | "read": 1, 170 | "report": 1, 171 | "role": "Lifefair Manager", 172 | "share": 1, 173 | "write": 1 174 | }, 175 | { 176 | "email": 1, 177 | "export": 1, 178 | "print": 1, 179 | "read": 1, 180 | "report": 1, 181 | "role": "Lifefair User", 182 | "share": 1 183 | } 184 | ], 185 | "quick_entry": 1, 186 | "search_fields": "official_name, alternative_names, french_name, english_name, italian_name", 187 | "sort_field": "modified", 188 | "sort_order": "DESC", 189 | "title_field": "official_name", 190 | "track_changes": 1 191 | } -------------------------------------------------------------------------------- /lifefair/lifefair/doctype/block/review.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Review {{ doc.name }} 6 | 72 | 73 | 74 | 75 |

{{ now }}

76 |

{{ doc.name }}

77 | 78 |

{{ doc.official_title }}

79 | 80 |

{{ doc.time }}

81 |

{{ doc.location }}

82 |

{{ doc.location_detail_1 }}

83 |

{{ doc.location_detail_2 }}

84 |

{{ doc.location_detail_3 }}

85 | 86 | 87 | 88 | 89 | 90 | 91 |
Herausforderungen(350 Zeichen inklusive Leerzeichen)
{{ doc.topic }}
Zentrale Fragen(350 Zeichen inklusive Leerzeichen)
{{ doc.content }}
Ihr Nutzen(200 Zeichen inklusive Leerzeichen)
{{ doc.use }}
92 | 93 | 94 |

Partner

95 | {% for partner in partners %} 96 |

{{ partner.type }}: {{ partner.parent }}

97 | {% endfor %} 98 | 99 | 100 |

Programm

101 | 102 | {% for detail in doc.planning %} 103 | 104 | 110 | 111 | {% if detail.format %} 112 | 113 | {% if detail.format == "REFF" %} 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | {% endif %} 155 | {% endif %} 156 | 157 | 158 | 159 | 160 | {% endfor %} 161 |
Beschreibung{{ detail.title }}
Person{{ detail.person_long_name }} ({{ detail.person }})
Funktion{{ detail.person_website_description }}
Status{{ detail.status }}
Rolle{{ detail.person_role }}
Dauer (min){{ detail.duration }}
Geschlecht{{ detail.gender }}
Stakeholder{{ detail.stakeholder }}
Hierarchiestufe{{ detail.hierarchiestufe }}
GzD Titel{% if detail.gzd_title %}ja{% else %}nein{% endif %}
GzD Name{% if detail.gzd_person %}ja{% else %}nein{% endif %}
Kommentar
162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /lifefair/lifefair/report/actor_per_meeting_details/actor_per_meeting_details.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013, libracore and contributors 2 | # For license information, please see license.txt 3 | 4 | from __future__ import unicode_literals 5 | import frappe 6 | 7 | def execute(filters=None): 8 | columns, data = [], [] 9 | 10 | columns = ["Block:Link/Block:150", 11 | "Personenname", 12 | "Nachname", 13 | "Briefanrede", 14 | "Bezeichung für externe Kommunikation::250", 15 | "Rolle", 16 | "Kontakt KNT:Link/Person:100", 17 | "Auf Website anzeigen", 18 | "Name", 19 | "Bild", 20 | "E-Mail", 21 | "Telefon geschäftlich", 22 | "Mobiltelefon", 23 | "Private phone", 24 | "Stakeholder", 25 | "Primary organisation", 26 | "Verbandsmitglied", 27 | "First Characters", 28 | "Contact function", 29 | "Contact name", 30 | "Contact email", 31 | "Contact phone", 32 | "Ticket number", 33 | "Registered", 34 | "Interessen" 35 | ] 36 | if filters: 37 | data = get_actors(interests=filters.interests, as_list=True) 38 | else: 39 | data = get_actors(as_list=True) 40 | 41 | return columns, data 42 | 43 | # use as_list=True in case of later Export to Excel 44 | def get_actors(interests=None, as_list=True): 45 | sql_query = """SELECT 46 | `t2`.`title` AS `Block`, 47 | IFNULL(`t4`.`long_name`, "-") AS `Personenname`, 48 | IFNULL(`t4`.`last_name`, "-") AS `Nachname`, 49 | IFNULL(`t4`.`letter_salutation`, "-") AS `Briefanrede`, 50 | IFNULL(`t3`.`person_website_description`, "-") AS `Website description`, 51 | `t3`.`person_role` AS `Role`, 52 | `t3`.`person` AS `Person:Link/Person:100`, 53 | `t4`.`show_on_website` AS `Show on website`, 54 | `t1`.`name` AS `Name`, 55 | `t4`.`image` AS `Image`, 56 | `t4`.`email` AS `Email`, 57 | `t4`.`company_phone` AS `Company phone`, 58 | `t4`.`mobile_phone` AS `Mobile phone`, 59 | `t4`.`private_phone` AS `Private phone`, 60 | IFNULL(`t4`.`person_group`, "-") AS `Stakeholder`, 61 | IFNULL(`t4`.`primary_organisation`, "-") AS `Primary organisation`, 62 | IFNULL((SELECT `tabOrganisation`.`ist_ver` 63 | FROM `tabOrganisation` 64 | WHERE `tabOrganisation`.`name` IN (SELECT `tabPerson Organisation`.`organisation` 65 | FROM `tabPerson Organisation` 66 | WHERE `tabPerson Organisation`.`parent` = `t4`.`name`) 67 | ORDER BY `tabOrganisation`.`ist_ver` DESC 68 | LIMIT 1), 0) AS `Verbandsmitglied`, 69 | IFNULL(`t4`.`first_characters`, "----") AS `First Characters`, 70 | IFNULL(`t5`.`function`, "-") AS `Contact function`, 71 | IFNULL(`t6`.`long_name`, "-") As `Contact name`, 72 | `t6`.`email` As `Contact email`, 73 | `t6`.`company_phone` AS `Contact phone`, 74 | `t7`.`ticket_number` AS `Ticket number`, 75 | (SELECT IF(`t7`.`name` IS NOT NULL, "ja", "nein")) AS `Registered`, 76 | GROUP_CONCAT(`t10`.`interesse`) AS `Interests` 77 | FROM `tabMeeting` AS `t1` 78 | INNER JOIN `tabBlock` AS `t2` ON `t1`.`title` = `t2`.`meeting` 79 | INNER JOIN `tabBlock Planning` AS `t3` ON (`t2`.`title` = `t3`.`parent` AND `t3`.`person` IS NOT NULL) 80 | LEFT JOIN `tabPerson` AS `t4` ON `t3`.`person` = `t4`.`name` 81 | LEFT JOIN `tabPerson Contact` AS `t5` ON (`t5`.`parent` = `t4`.`name` AND `t5`.`idx` = 1) 82 | LEFT JOIN `tabPerson`AS `t6` ON (`t6`.`name` = `t5`.`person`) 83 | LEFT JOIN `tabRegistration` AS `t7` ON (`t7`.`person` = `t4`.`name` AND `t7`.`meeting` = `t2`.`meeting` /*'SGES 2018'*/ AND `t7`.`status` != "Cancelled") 84 | LEFT JOIN `tabPerson Interest` AS `t10` ON (`t10`.`parent` = `t4`.`name`) 85 | /* display each person once per block (disabled by request on 2020-08-17 LaMu) */ 86 | /* GROUP BY (CONCAT(`t2`.`title`, `t3`.`person`))*/ 87 | """ 88 | if interests: 89 | sql_query += """ 90 | LEFT JOIN `tabBlock Interest` AS `t11` ON `t2`.`name` = `t11`.`parent` 91 | WHERE `t11`.`interest` = '{0}'""".format(interests) 92 | sql_query += """ GROUP BY (CONCAT(`t2`.`title`, `t3`.`person`, `t3`.`person_role`))""" 93 | #sql_query += """ ORDER BY `t1`.`title` ASC, `t2`.`title` ASC, `t4`.`idx` ASC""" 94 | if as_list: 95 | data = frappe.db.sql(sql_query, as_list = True) 96 | else: 97 | data = frappe.db.sql(sql_query, as_dict = True) 98 | return data 99 | 100 | --------------------------------------------------------------------------------