1 | # -*- coding: utf-8 -*- |
---|
2 | # ------------------------------------------------------------------------- |
---|
3 | # This is a sample controller |
---|
4 | # this file is released under public domain and you can use without limitations |
---|
5 | # ------------------------------------------------------------------------- |
---|
6 | |
---|
7 | # quitar en produccion. Sirve para que eclipse no de errores. |
---|
8 | #import gluon |
---|
9 | from ados import adoDB_openRlabs_setup, adoDB_pop3_servers |
---|
10 | |
---|
11 | |
---|
12 | |
---|
13 | # ---- example index page ---- |
---|
14 | @auth.requires_membership('enabled') |
---|
15 | def index(): |
---|
16 | return redirect(URL('show', 'ous', vars=dict() ) ) |
---|
17 | |
---|
18 | |
---|
19 | # ---- Action for login/register/etc (required for auth) ----- |
---|
20 | def user(): |
---|
21 | |
---|
22 | """ |
---|
23 | exposes: |
---|
24 | http://..../[app]/default/user/login |
---|
25 | http://..../[app]/default/user/logout |
---|
26 | http://..../[app]/default/user/register |
---|
27 | http://..../[app]/default/user/profile |
---|
28 | http://..../[app]/default/user/retrieve_password |
---|
29 | http://..../[app]/default/user/change_password |
---|
30 | http://..../[app]/default/user/bulk_register |
---|
31 | use @auth.requires_login() |
---|
32 | @auth.requires_membership('group name') |
---|
33 | @auth.requires_permission('read','table name',record_id) |
---|
34 | to decorate functions that need access control |
---|
35 | also notice there is http://..../[app]/appadmin/manage/auth to allow administrator to manage users |
---|
36 | """ |
---|
37 | form = auth() |
---|
38 | setup = adoDB_openRlabs_setup.getSetup_OpenRLabs(db) |
---|
39 | |
---|
40 | if setup['auth_mode'] == 'pop3_servers': |
---|
41 | servers = adoDB_pop3_servers.get_servers(db) |
---|
42 | servers_list = [] |
---|
43 | server_default = "" |
---|
44 | for server in servers: |
---|
45 | if server['default_server']: |
---|
46 | server_default = server['url'] |
---|
47 | else: |
---|
48 | servers_list.append(server['url']) |
---|
49 | |
---|
50 | select = SELECT(server_default, OPTGROUP(servers_list), _form='login_form', value=server_default, |
---|
51 | _id='pop3_server', _name='pop3_server') |
---|
52 | select_div=DIV(LABEL('Servidor pop3', |
---|
53 | _class="form-control-label col-sm-3", _for="pop3_server", _id="pop3_server_label"), |
---|
54 | DIV(select, _class="col-sm-9"), |
---|
55 | SPAN(_class="help-block") , |
---|
56 | _class="form-group row" , _id="pop3_server_row") |
---|
57 | |
---|
58 | form['_id']='login_form' |
---|
59 | form[0].insert(-1, select_div) |
---|
60 | |
---|
61 | return dict(form=form) |
---|
62 | |
---|
63 | # ---- action to server uploaded static content (required) --- |
---|
64 | @cache.action() |
---|
65 | def download(): |
---|
66 | """ |
---|
67 | allows downloading of uploaded files |
---|
68 | http://..../[app]/default/download/[filename] |
---|
69 | """ |
---|
70 | return response.download(request, db) |
---|
71 | |
---|