diff --git a/vc_dummy/indico_vc_dummy/plugin.py b/vc_dummy/indico_vc_dummy/plugin.py index 1b90df9..f6326b5 100644 --- a/vc_dummy/indico_vc_dummy/plugin.py +++ b/vc_dummy/indico_vc_dummy/plugin.py @@ -16,8 +16,19 @@ from __future__ import unicode_literals +from wtforms.fields.core import BooleanField + from indico.core.plugins import IndicoPlugin from indico.modules.vc import VCPluginMixin +from indico.modules.vc.plugins import VCRoomFormBase +from indico.util.i18n import _ +from indico.web.forms.widgets import SwitchWidget + + +class VCRoomForm(VCRoomFormBase): + show_phone_numbers = BooleanField(_('What is your favorite color?'), + widget=SwitchWidget(), + description=_("Yes. It doesn't make any sense.")) class DummyPlugin(VCPluginMixin, IndicoPlugin): @@ -26,6 +37,7 @@ class DummyPlugin(VCPluginMixin, IndicoPlugin): Dummy Video conferencing plugin """ configurable = True + vc_room_form = VCRoomForm @property def logo_url(self): diff --git a/vc_dummy/indico_vc_dummy/templates/manage_event_create_room.html b/vc_dummy/indico_vc_dummy/templates/manage_event_create_room.html new file mode 100644 index 0000000..94e6e39 --- /dev/null +++ b/vc_dummy/indico_vc_dummy/templates/manage_event_create_room.html @@ -0,0 +1,17 @@ +{% extends 'admin/base.html' %} +{% from 'forms/form_widget.html' import form_header, form_footer, form_rows %} + +{% block title %} + Dummy Plugin +{% endblock %} +{% block subtitle %}{{ plugin.title }}{% endblock %} +{%- block content %} + {{ form_header(id='vc-room-form') }} + + {{ form_rows(form) }} + + {% call form_footer() %} + + {% trans %}Cancel{% endtrans %} + {% endcall %} +{%- endblock %} diff --git a/vc_vidyo/indico_vc_vidyo/forms.py b/vc_vidyo/indico_vc_vidyo/forms.py index af7a30d..b78f5d8 100644 --- a/vc_vidyo/indico_vc_vidyo/forms.py +++ b/vc_vidyo/indico_vc_vidyo/forms.py @@ -19,7 +19,7 @@ from __future__ import unicode_literals import re from wtforms.fields.core import BooleanField, SelectField -from wtforms.fields.simple import StringField, TextAreaField +from wtforms.fields.simple import TextAreaField from wtforms.validators import DataRequired, Length, Regexp, Optional, ValidationError from indico.modules.vc.models import VCRoom @@ -30,7 +30,6 @@ from indico.web.forms.fields import PrincipalField, IndicoPasswordField, IndicoR from indico.web.forms.widgets import SwitchWidget, JinjaWidget -ROOM_NAME_RE = re.compile(r'[\w\-]+') PIN_RE = re.compile(r'^\d+$') ERROR_MSG_PIN = _("The PIN must be a number") @@ -43,8 +42,6 @@ class VCRoomForm(VCRoomFormBase): conditional_fields = {'contribution', 'session'} skip_fields = advanced_fields | conditional_fields - name = StringField(_('Name'), [DataRequired(), Length(min=3, max=60), Regexp(ROOM_NAME_RE)], - description=_('The name of the room')) description = TextAreaField(_('Description'), [DataRequired()], description=_('The description of the room')) linking = IndicoRadioField(_("Link to"), [DataRequired()], diff --git a/vc_vidyo/indico_vc_vidyo/plugin.py b/vc_vidyo/indico_vc_vidyo/plugin.py index a74f9ee..d4fe586 100644 --- a/vc_vidyo/indico_vc_vidyo/plugin.py +++ b/vc_vidyo/indico_vc_vidyo/plugin.py @@ -17,17 +17,19 @@ from __future__ import unicode_literals import re +from flask import render_template + from wtforms.fields import IntegerField, TextAreaField from wtforms.fields.html5 import URLField, EmailField from wtforms.fields.simple import StringField from wtforms.validators import NumberRange, DataRequired from indico.core.config import Config -from indico.util.user import retrieve_principals from indico.modules.vc import VCPluginSettingsFormBase, VCPluginMixin from indico.modules.vc.views import WPVCManageEvent from indico.core.plugins import IndicoPlugin, url_for_plugin, IndicoPluginBlueprint from indico.util.i18n import _ +from indico.web.flask.templating import get_overridable_template_name from indico.web.forms.fields import EmailListField, IndicoPasswordField from indico.web.forms.widgets import CKEditorWidget from indico_vc_vidyo.forms import VCRoomForm diff --git a/vc_vidyo/indico_vc_vidyo/static/css/vc_vidyo.scss b/vc_vidyo/indico_vc_vidyo/static/css/vc_vidyo.scss index c838a9b..2271465 100644 --- a/vc_vidyo/indico_vc_vidyo/static/css/vc_vidyo.scss +++ b/vc_vidyo/indico_vc_vidyo/static/css/vc_vidyo.scss @@ -48,3 +48,11 @@ $dropdown-transition: $dropdown-transition-step ease-out; } } } + +.i-button.js-create-room { + line-height: 2em; + img { + vertical-align: middle; + width: 2em; + } +} \ No newline at end of file diff --git a/vc_vidyo/indico_vc_vidyo/static/images/vidyo_logo_notext.png b/vc_vidyo/indico_vc_vidyo/static/images/vidyo_logo_notext.png new file mode 100644 index 0000000..dded422 Binary files /dev/null and b/vc_vidyo/indico_vc_vidyo/static/images/vidyo_logo_notext.png differ diff --git a/vc_vidyo/indico_vc_vidyo/templates/create_button.html b/vc_vidyo/indico_vc_vidyo/templates/create_button.html new file mode 100644 index 0000000..5a7c56e --- /dev/null +++ b/vc_vidyo/indico_vc_vidyo/templates/create_button.html @@ -0,0 +1,6 @@ + + + {%trans%}Add new Vidyo Room{%endtrans%} + \ No newline at end of file