~edwinvandeven/openstudio/2.0

« back to all changes in this revision

Viewing changes to web2py/applications/OpenStudio/controllers/workshops.py

  • Committer: Edwin van de Ven
  • Date: 2013-09-08 06:40:32 UTC
  • Revision ID: edwinvandeven@home.nl-20130908064032-fw6ha39bnjmcz3ic
Made the workshops pages mobile friendly

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 
3
3
from plugin_solidform import SOLIDFORM
4
4
from plugin_solidtable import SOLIDTABLE, OrderbySelector
 
5
from gluon.contrib.user_agent_parser import mobilize 
5
6
 
6
7
### helpers begin
7
8
def _generate_attendance_searchform(wsaID, name, function):
10
11
        Field('name', default=name, label=T("")),
11
12
        submit_button='Search',
12
13
        )
 
14
    form.element('input[name=name]')['_placeholder']='Search...'
13
15
    if function == 'manage_attendance':
14
16
        form.add_button(T('Show all'), URL(function, user_signature=True))
15
17
    else:
44
46
                _href=URL('workshops', 'manage', vars=dict(wsID=row.id)))
45
47
            ]
46
48
    
47
 
    fields = [ db.workshops.Name, db.workshops.Startdate, db.workshops.Teacher, db.workshops.Price ]
 
49
    if request.user_agent().is_mobile:
 
50
        fields = [ db.workshops.Name, db.workshops.Startdate ]
 
51
    else:
 
52
        fields = [ db.workshops.Name, db.workshops.Startdate, db.workshops.Teacher, db.workshops.Price ]
48
53
    maxtextlengths = {'workshops.Name' : 50}
49
54
    db.workshops.id.readable=False
50
55
    grid = SQLFORM.grid(db.workshops, fields=fields, links=links,
116
121
        TD(revenue_title, revenue_table)))
117
122
    
118
123
    ### activities 
 
124
    if 'new' in request.args:
 
125
        redirect(URL('edit_activity', vars=dict(wsaID='new'), user_signature=True))
119
126
    activities_title = H2(T("Activities"))
120
127
    db.workshop_activities.id.readable = False
121
128
    db.workshop_activities.WorkshopID.default = session.wsID
133
140
                _href=URL('edit_activity', vars=dict(wsaID=row.id), user_signature=True),
134
141
                _title=T("Edit this activity")),
135
142
            ]
 
143
            
 
144
    if request.user_agent().is_mobile:
 
145
        db.workshop_activities.Endtime.readable=False
 
146
        db.workshop_activities.Price.readable=False
136
147
                
137
148
    query = (db.workshop_activities.WorkshopID == session.wsID)
138
149
    activities_grid = SQLFORM.grid(db.workshop_activities, links=links,
168
179
            ]
169
180
    
170
181
    # create customers list and add button
171
 
    fields = [ db.customers.FirstName, db.customers.LastName, db.customers.DateOfBirth ]
 
182
    if request.user_agent().is_mobile:
 
183
        fields = [ db.customers.FirstName, db.customers.LastName ]
 
184
    else:
 
185
        fields = [ db.customers.FirstName, db.customers.LastName, db.customers.DateOfBirth ]
172
186
    grid = SQLFORM.grid(query, fields=fields, links=links,
173
187
        #maxtextlengths=maxtextlengths,
174
188
        create=False, details=False, deletable=False, editable=False, csv=False, searchable=False, 
200
214
@auth.requires_login()
201
215
def edit_activity():
202
216
    wsaID = request.vars['wsaID']
203
 
    row = db.workshop_activities[wsaID]
204
 
    response.title = T("Edit activity")
205
 
    response.subtitle = row.Activity
206
217
    response.view = 'general/one_form.html'
207
218
    
208
 
    form = SOLIDFORM(db.workshop_activities, row, showid=False, submit_button='Update')
 
219
    if wsaID == 'new':
 
220
        response.title = T("New activity")
 
221
        response.subtitle = T("")
 
222
        db.workshop_activities.WorkshopID.default=session.wsID
 
223
        form = SOLIDFORM(db.workshop_activities, submit_button='Create')
 
224
    else:
 
225
        row = db.workshop_activities[wsaID]
 
226
        response.title = T("Edit activity")
 
227
        response.subtitle = row.Activity
 
228
        form = SOLIDFORM(db.workshop_activities, row, showid=False, submit_button='Update')
209
229
    
210
230
    if form.accepts(request.vars, session):
211
 
        session.flash = T("Updated activity") + ": " + form.vars['Activity']
212
 
        redirect(URL('manage', vars=dict(wsID=row.WorkshopID), user_signature=True))
 
231
        if wsaID == 'new':
 
232
            session.flash = T("Added activity") + ": " + form.vars['Activity']
 
233
        else:
 
234
            session.flash = T("Updated activity") + ": " + form.vars['Activity']
 
235
        redirect(URL('manage', vars=dict(wsID=session.wsID), user_signature=True))
213
236
        
214
237
    style = STYLE("""input[type="text"] {width:235px; max-height: 50px;}
215
238
                select {width:250px;}
218
241
                """)
219
242
                
220
243
    back = A(SPAN(_class="buttontext button", _title=T("Back")), SPAN(_class="icon leftarrow icon-arrow-left"), T("Back"), _class="w2p_trap button btn", \
221
 
            _href=URL('workshops', 'manage', vars=dict(wsID=row.WorkshopID), user_signature=True))
 
244
            _href=URL('workshops', 'manage', vars=dict(wsID=session.wsID), user_signature=True))
222
245
                
223
246
    return dict(form=DIV(style, form), back=back)
224
247
    
259
282
            ]
260
283
    
261
284
    # create customers list and add button
262
 
    fields = [ db.customers.FirstName, db.customers.LastName, db.customers.DateOfBirth ]
 
285
    if request.user_agent().is_mobile:
 
286
        fields = [ db.customers.FirstName, db.customers.LastName ]
 
287
    else:
 
288
        fields = [ db.customers.FirstName, db.customers.LastName, db.customers.DateOfBirth ]
263
289
    grid = SQLFORM.grid(query, fields=fields, links=links,
264
290
        #maxtextlengths=maxtextlengths,
265
291
        create=False, details=False, deletable=False, editable=False, csv=False, searchable=False,