Skip to content
Snippets Groups Projects
Verified Commit 67d14d82 authored by Nik | Klampfradler's avatar Nik | Klampfradler
Browse files

Add model fields for most meeting options

parent c5c76fcf
No related branches found
No related tags found
No related merge requests found
...@@ -108,8 +108,57 @@ class Meeting(models.Model): ...@@ -108,8 +108,57 @@ class Meeting(models.Model):
verbose_name=_("Welcome message for moderators"), blank=True verbose_name=_("Welcome message for moderators"), blank=True
) )
conference_pin = models.CharField(
verbose_nname=_("Conference PIN"),
max_length=10,
blank=True,
null=True,
unique=True,
validators=[RegexValidator(r"[0-9]*", _("The PIN must be numerical"))],
)
record = models.BooleanField(verbose_name=_("Record media and events"), default=False)
auto_start_recording = models.BooleanField(
verbose_name=_("Auto-start recording on first join"), default=False
)
allow_start_stop_recording = models.BooleanField(
verbose_name=_("Allow starting and stopping recording"),
default=True,
description=_(
"Allows users to manually start and stop recording. If recording is set to auto-start, this forces the whole meeting to be recorded. If auto-start is disabled, this causes the recording to be discarded."
),
)
webcams_only_for_moderator = models.BooleanField(
verbose_name=_("Webcams only for moderators"),
default=False,
description=_(
"Webcam streams of participants are only visible for moderators, not for other participants."
),
)
mute_on_start = models.BooleanField(
verbose_name=_("Mute on start"),
default=False,
description=_("Participants are muted when they join the meeting"),
)
allow_mods_to_unmute_users = models.BooleanField(
verbose_name=_("Allow moerators to unmute"),
default=False,
description=_("Allow moderators to unmute other users (this is a privacy risk)"),
)
enable_cam = models.BooleanField(verbose_name=_("Allow sharing webcam"), default=True)
enable_mic = models.BooleanField(verbose_name=_("Allow sharing microphone"), default=True)
enable_private_chat = models.BooleanField(verbose_name=_("Allow private chat"), default=True)
enable_public_chat = models.BooleanField(verbose_name=_("Allow public chat"), default=True)
enable_note = models.BooleanField(verbose_name=_("Allow editing shared notes"), default=True)
max_participants = models.PositiveSmallIntegerField( max_participants = models.PositiveSmallIntegerField(
verbose_name=_("Maximum number of participants"), default=0 verbose_name=_("Maximum number of participants"), null=True
)
duration = models.PositiveIntegerField(
verbose_name=_("Maximum duration (in minutes)"), null=True
) )
api = models.ForeignKey("BigBlueButton", on_delete=models.CASCADE, related_name="meetings") api = models.ForeignKey("BigBlueButton", on_delete=models.CASCADE, related_name="meetings")
...@@ -204,9 +253,11 @@ class Meeting(models.Model): ...@@ -204,9 +253,11 @@ class Meeting(models.Model):
("join_as_moderator", _("Can join this meeting with moderator role")), ("join_as_moderator", _("Can join this meeting with moderator role")),
("grant_attendee", _("Can grant attendee privileges to others")), ("grant_attendee", _("Can grant attendee privileges to others")),
("grant_moderator", _("Can grant moderator privileges to others")), ("grant_moderator", _("Can grant moderator privileges to others")),
("enforece_conference_pin", _("Can enforce a static conference PIN")),
("add_urls", _("Can add new URLs for this meeting")), ("add_urls", _("Can add new URLs for this meeting")),
] ]
class APIToken(models.Model): class APIToken(models.Model):
"""An API token when using the proxy capabilities of bigbluebutton2. """An API token when using the proxy capabilities of bigbluebutton2.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment