mirror of
https://github.com/lucaspalomodevelop/indico-plugins.git
synced 2026-03-13 07:29:39 +00:00
VC/Vidyo: Move retrieve_principals from core
This commit is contained in:
parent
6eee13b111
commit
4d76f2fd5e
@ -21,13 +21,12 @@ from wtforms.fields.simple import TextAreaField
|
||||
from wtforms.validators import DataRequired, Length, Optional, Regexp, ValidationError
|
||||
|
||||
from indico.modules.vc.forms import VCRoomAttachFormBase, VCRoomFormBase
|
||||
from indico.util.user import retrieve_principal
|
||||
from indico.web.forms.base import generated_data
|
||||
from indico.web.forms.fields import IndicoPasswordField, PrincipalField
|
||||
from indico.web.forms.widgets import SwitchWidget
|
||||
|
||||
from indico_vc_vidyo import _
|
||||
from indico_vc_vidyo.util import iter_user_identities
|
||||
from indico_vc_vidyo.util import iter_user_identities, retrieve_principal
|
||||
|
||||
|
||||
PIN_VALIDATORS = [Optional(), Length(min=3, max=10), Regexp(r'^\d+$', message=_("The PIN must be a number"))]
|
||||
@ -71,7 +70,7 @@ class VCRoomForm(VCRoomFormBase, VidyoAdvancedFormMixin):
|
||||
def __init__(self, *args, **kwargs):
|
||||
defaults = kwargs['obj']
|
||||
if defaults.owner_user is None and defaults.owner is not None:
|
||||
defaults.owner_user = retrieve_principal(defaults.owner, allow_groups=False, legacy=False)
|
||||
defaults.owner_user = retrieve_principal(defaults.owner)
|
||||
super(VCRoomForm, self).__init__(*args, **kwargs)
|
||||
|
||||
@generated_data
|
||||
|
||||
@ -31,7 +31,6 @@ from indico.modules.events.views import WPSimpleEventDisplay
|
||||
from indico.modules.vc import VCPluginMixin, VCPluginSettingsFormBase
|
||||
from indico.modules.vc.exceptions import VCRoomError, VCRoomNotFoundError
|
||||
from indico.modules.vc.views import WPVCEventPage, WPVCManageEvent
|
||||
from indico.util.user import retrieve_principal
|
||||
from indico.web.forms.fields import IndicoPasswordField
|
||||
from indico.web.forms.widgets import CKEditorWidget
|
||||
from indico.web.http_api.hooks.base import HTTPAPIHook
|
||||
@ -43,7 +42,7 @@ from indico_vc_vidyo.cli import cli
|
||||
from indico_vc_vidyo.forms import VCRoomAttachForm, VCRoomForm
|
||||
from indico_vc_vidyo.http_api import DeleteVCRoomAPI
|
||||
from indico_vc_vidyo.models.vidyo_extensions import VidyoExtension
|
||||
from indico_vc_vidyo.util import iter_extensions, iter_user_identities, update_room_from_obj
|
||||
from indico_vc_vidyo.util import iter_extensions, iter_user_identities, retrieve_principal, update_room_from_obj
|
||||
|
||||
|
||||
class PluginSettingsForm(VCPluginSettingsFormBase):
|
||||
@ -156,7 +155,7 @@ class VidyoPlugin(VCPluginMixin, IndicoPlugin):
|
||||
:param event: Event -- The event to the Vidyo room will be attached
|
||||
"""
|
||||
client = AdminClient(self.settings)
|
||||
owner = retrieve_principal(vc_room.data['owner'], allow_groups=False, legacy=False)
|
||||
owner = retrieve_principal(vc_room.data['owner'])
|
||||
login_gen = iter_user_identities(owner)
|
||||
login = next(login_gen, None)
|
||||
if login is None:
|
||||
@ -232,7 +231,7 @@ class VidyoPlugin(VCPluginMixin, IndicoPlugin):
|
||||
except RoomNotFoundAPIException:
|
||||
raise VCRoomNotFoundError(_("This room has been deleted from Vidyo"))
|
||||
|
||||
owner = retrieve_principal(vc_room.data['owner'], allow_groups=False, legacy=False)
|
||||
owner = retrieve_principal(vc_room.data['owner'])
|
||||
changed_owner = room_obj.ownerName not in iter_user_identities(owner)
|
||||
if changed_owner:
|
||||
login_gen = iter_user_identities(owner)
|
||||
|
||||
@ -93,3 +93,12 @@ def update_room_from_obj(settings, vc_room, room_obj):
|
||||
'moderation_pin': room_obj.RoomMode.moderatorPIN if room_obj.RoomMode.hasModeratorPIN else "",
|
||||
})
|
||||
vc_room.vidyo_extension.extension = int(room_obj.extension)
|
||||
|
||||
|
||||
def retrieve_principal(principal):
|
||||
from indico.modules.users import User
|
||||
type_, id_ = principal
|
||||
if type_ in {'Avatar', 'User'}:
|
||||
return User.get(int(id_))
|
||||
else:
|
||||
raise ValueError('Unexpected type: {}'.format(type_))
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user