mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 20:40:17 +02:00
- without, can only broadcast to own groups - with, can broadcast to all and every group Updated form to check request user for permission and groups when generating form For #159
38 lines
1.9 KiB
Python
38 lines
1.9 KiB
Python
from django import forms
|
|
from django.contrib.auth.models import Group
|
|
from util import check_if_user_has_permission
|
|
|
|
|
|
class JabberBroadcastForm(forms.Form):
|
|
def __init__(self, user, *args, **kwargs):
|
|
super(JabberBroadcastForm, self).__init__(*args, **kwargs)
|
|
allchoices = []
|
|
if check_if_user_has_permission(user, 'jabber_broadcast_all'):
|
|
allchoices.append(('all', 'all'))
|
|
for g in Group.objects.all():
|
|
allchoices.append((str(g.name), str(g.name)))
|
|
else:
|
|
for g in user.groups.all():
|
|
allchoices.append((str(g.name), str(g.name)))
|
|
self.fields['group'] = forms.ChoiceField(choices=allchoices, widget=forms.Select)
|
|
message = forms.CharField(widget=forms.Textarea)
|
|
|
|
|
|
class FleetFormatterForm(forms.Form):
|
|
fleet_name = forms.CharField(label='Name of Fleet:', required=True)
|
|
fleet_commander = forms.CharField(label='Fleet Commander:', required=True)
|
|
fleet_comms = forms.CharField(label='Fleet Comms:', required=True)
|
|
fleet_type = forms.CharField(label='Fleet Type:', required=True)
|
|
ship_priorities = forms.CharField(label='Ship Priorities:', required=True)
|
|
formup_location = forms.CharField(label='Formup Location:', required=True)
|
|
formup_time = forms.CharField(label='Formup Time:', required=True)
|
|
expected_duration = forms.CharField(label='Expected Duration:', required=True)
|
|
purpose = forms.CharField(label='Purpose:', required=True)
|
|
reimbursable = forms.ChoiceField(label='Reimbursable?*', choices=[('Yes', 'Yes'), ('No', 'No')], required=True)
|
|
important = forms.ChoiceField(label='Important?*', choices=[('Yes', 'Yes'), ('No', 'No')], required=True)
|
|
comments = forms.CharField(widget=forms.Textarea, required=False)
|
|
|
|
class DiscordForm(forms.Form):
|
|
email = forms.CharField(label="Email Address", required=True)
|
|
password = forms.CharField(label="Password", required=True, widget=forms.PasswordInput)
|