summaryrefslogtreecommitdiff
path: root/src/meetingtools/apps/room/forms.py
blob: 19069224931ffc250cad562d9bd86788fdb6ae66 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
'''
Created on Feb 1, 2011

@author: leifj
'''

from meetingtools.apps.room.models import Room
from django.forms.widgets import Select, TextInput, RadioSelect
from django.forms.fields import BooleanField, ChoiceField
from django.forms.forms import Form
from form_utils.forms import BetterModelForm
from django.utils.safestring import mark_safe
        
PUBLIC = 0
PROTECTED = 1
PRIVATE = 2
        
class PrefixTextInput(TextInput):
    def __init__(self, attrs=None, prefix=None):
        super(PrefixTextInput, self).__init__(attrs)
        self.prefix = prefix

    def render(self, name, value, attrs=None):
        return mark_safe("<b>"+self.prefix+"</b>&nbsp;"+super(PrefixTextInput, self).render(name, value, attrs))
        
class ModifyRoomForm(BetterModelForm):
    class Meta:
        model = Room
        fields = ['name','source_sco_id','self_cleaning']
        fieldsets = [('name',{'fields': ['name'],
                              'classes': ['step'],
                              'legend': 'Step 1: Room name',
                              'description': 'The room name should be short and descriptive.'
                              }),
                     ('properties',{'fields': ['self_cleaning','urlpath','source_sco_id'],
                                    'classes': ['step'],
                                    'legend': 'Step 2: Room properties',
                                    'description': 'These are basic properties for your room. If you set your room to be self-cleaning it will be reset every time the last participant leaves the room.'}),
                    ]
        widgets = {'source_sco_id': Select(),
                   'urlpath': PrefixTextInput(attrs={'size': '15'}),
                   'name': TextInput(attrs={'size': '40'})}
        
        
class CreateRoomForm(BetterModelForm):

    access = ChoiceField(choices=(('public','Public'),('private','Private')))
    class Meta:
        model = Room
        fields = ['name','urlpath','access','self_cleaning']
        fieldsets = [('name',{'fields': ['name'],
                              'classes': ['step'],
                              'legend': 'Step 1: Room name',
                              'description': 'The room name should be short and descriptive.'
                              }),
                     ('properties',{'fields': ['self_cleaning','urlpath','access'],
                                    'classes': ['step'],
                                    'legend': 'Step 2: Room properties',
                                    'description': 'These are basic properties for your room. If you set your room to clean-up after use it will be reset every time the last participant leaves the room. If you create a public room it will be open to anyone who has the room URL. If you create a private room then guests will have to be approved by an active meeting host before being able to join the room.'}),               
                    ]
        widgets = {'access': RadioSelect(),
                   'urlpath': PrefixTextInput(attrs={'size': '15'}),
                   'name': TextInput(attrs={'size': '40'})}
        
class DeleteRoomForm(Form):
    confirm = BooleanField(label="Confirm remove room")