source: OpenRLabs-Git/web2py/applications/rlabs/models/m0_openRLabs_setup.py

main
Last change on this file was 42bd667, checked in by David Fuertes <dfuertes@…>, 4 years ago

Historial Limpio

  • Property mode set to 100644
File size: 2.1 KB
Line 
1# -*- coding: utf-8 -*-
2
3db.define_table('active_directory',
4                Field('admin_ad', required=True),
5                Field('password', type='password', required=True),
6                Field('server_ad', required=True),
7                Field('base_db', required=True),
8                )
9
10db.define_table('pop3_servers',
11                Field('url', required=True),
12                Field('port', 'integer', required=True),
13                Field('use_tls', type='boolean', required=True, default=True),
14                Field('default_server', type='boolean', required=True, default=True),
15                )
16
17
18db.pop3_servers.id.readable = False
19
20db.define_table('openRLabs_setup',
21                Field('URL_Apache_Guacamole_WebSocket', required=True),
22                Field('URL_openGnsys_server', required=True),
23                Field('URL_openRLabs_server', required=True),
24                Field('auth_mode', requires = IS_IN_SET(['active_directory', 'pop3_servers'],
25                                                        zero=None), default='pop3_servers'),
26                Field('maxtime_reserve', required=True, default='2'),
27                Field('seconds_to_wait', required=True, default=200)
28                )
29
30if db(db.openRLabs_setup).isempty():
31    import load_init_setup
32
33    load_init_setup.load_setup(db)
34
35#Ensure only one record
36def only_one_record(table):
37    first = db(db[table].id > 1).select().first()
38   
39    if first:
40        db(db[table].id != first['id']).delete()
41       
42    db[table].id.readable = False
43   
44
45only_one_record('active_directory')
46only_one_record('openRLabs_setup')
47
48def insert_default_server(row, id):
49    print(row)
50    if row['default_server'] ==  True:
51        db(db.pop3_servers.id != id).update(default_server = False)
52
53def update_default_server(row_info, row_values):
54    id = row_info.select().first()['id']
55   
56    if row_values['default_server'] ==  True:
57        db(db.pop3_servers.id != id).update(default_server = False)
58
59db.pop3_servers._after_insert.append(lambda row, id: insert_default_server(row, id))
60db.pop3_servers._after_update.append(lambda row_info, row_values: update_default_server(row_info, row_values))
61
62   
63   
Note: See TracBrowser for help on using the repository browser.