def add_participant_custom_fields(meeting): """Adds participants fields as CustomFields to meeting.""" for i, field in enumerate(ParticipantDummyForm()): custom_field = CustomField() custom_field.meeting = meeting custom_field.slug = field.name custom_field.label = Translation(english=unicode(field.label.text)) custom_field.required = field.flags.required custom_field.field_type = _CUSTOM_FIELD_MAPPER[field.type] custom_field.is_primary = True custom_field.sort = i + 1 custom_field.visible_on_registration_form = True db.session.add(custom_field) if custom_field.field_type == CustomField.SELECT: _add_choice_values_for_custom_field(custom_field, field.choices) db.session.commit()
def add_participant_custom_fields(meeting, form_class=ParticipantDummyForm): """Adds participants fields as CustomFields to meeting.""" for i, field in enumerate(form_class()): custom_field = CustomField() custom_field.meeting = meeting custom_field.slug = field.name custom_field.label = Translation(english=unicode(field.label.text)) custom_field.required = field.flags.required custom_field.field_type = _CUSTOM_FIELD_MAPPER[field.type] custom_field.custom_field_type = form_class.CUSTOM_FIELD_TYPE custom_field.is_primary = True custom_field.sort = i + 1 custom_field.visible_on_registration_form = True db.session.add(custom_field) if custom_field.field_type == CustomField.SELECT: _add_choice_values_for_custom_field(custom_field, field.choices) db.session.commit()
def add_verified_flag_mp(ctx): app = ctx.obj['app'] with app.test_request_context(): for meeting in Meeting.query.all(): if meeting.settings.get('media_participant_enabled', False): if meeting.custom_fields.filter_by( custom_field_type=CustomField.MEDIA, slug='verified').count(): continue cf = CustomField(slug='verified', meeting_id=meeting.id, field_type=CustomField.CHECKBOX, is_primary=True, custom_field_type=CustomField.MEDIA) cf.label = Translation(english='Acknowledged') cf.sort = meeting.custom_fields.filter_by( custom_field_type=CustomField.MEDIA).count() + 1 db.session.add(cf) db.session.commit()
def add_custom_fields_for_meeting(meeting, form_class=ParticipantDummyForm): """Adds participants fields as CustomFields to meeting.""" form = form_class() for i, field in enumerate(form): query = ( CustomField.query .filter_by(slug=field.name, meeting=meeting) .filter_by(custom_field_type=form.CUSTOM_FIELD_TYPE) ) if query.scalar(): continue custom_field = CustomField() custom_field.meeting = meeting custom_field.slug = field.name custom_field.label = Translation(english=unicode(field.label.text)) custom_field.required = field.flags.required custom_field.field_type = _CUSTOM_FIELD_MAPPER[field.type] custom_field.is_primary = True custom_field.custom_field_type = form.CUSTOM_FIELD_TYPE custom_field.max_length = _extract_max_length_from_field(field) if field.name in form.meta.visible_on_registration_form: custom_field.visible_on_registration_form = True else: custom_field.visible_on_registration_form = False if field.name in form.meta.protected_fields: custom_field.is_protected = True else: custom_field.is_protected = False custom_field.sort = i + 1 db.session.add(custom_field) if custom_field.field_type in (CustomField.SELECT, CustomField.LANGUAGE): _add_choice_values_for_custom_field(custom_field, field.choices) db.session.commit()