source: OpenRLabs-Git/web2py/applications/rlabs/modules/reserves.py

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

implementando chequeo PreR en background

  • Property mode set to 100644
File size: 2.0 KB
Line 
1# -*- coding: utf-8 -*-
2#################################################################################
3# @file    reserves.py
4# @brief   
5# @warning None
6# @note Use: None     
7# @license GNU GPLv3+
8# @author  David Fuertes, EUPT, University of Zaragoza.
9#          Opengnsys Api Rest support provided by Juan Carlos García, EUPT, University of Zaragoza.
10# @version 1.1.0 - First version
11# @date    2019-15-11
12#################################################################################
13
14from gluon.storage import Storage
15
16from client_lab import Client
17from ados import adoDB_reserves
18
19class ActiveReserves:
20    def __init__(self, db, user_id,  user_groups):       
21        self.db = db
22        self.user_id = user_id
23        self.user_groups = user_groups
24        # Contains info about status client.
25        self.active_reserves = []
26        self.__set_reserves()
27       
28    def __set_reserves(self):
29
30        if 'admin' in  self.user_groups:
31            active_reserves = adoDB_reserves.getAll(self.db)
32        else:
33            active_reserves = adoDB_reserves.get(self.db, self.user_id)   
34       
35        # Render() for get user_name from id (See represent clause in model).
36        # return Iterator object       
37        active_reserves_iterator = active_reserves.render()
38       
39        client = Client(Storage())
40       
41        for ar in active_reserves_iterator:
42           
43            ar_dict =  ar.as_dict()
44           
45            client.update_context({'ip' : ar_dict['ip'],
46                                   'ou_id' : ar_dict['ou_id'],
47                                   'lab_id' : ar_dict['lab_id'],
48                                   })
49                   
50            ar_dict.update(client.get_status_client())
51           
52            self.active_reserves.append(ar_dict)
53           
54           
55    def get_reserves(self):
56        return self.active_reserves
57   
58    def exits_reserves(self):
59
60        if len(self.active_reserves) > 0:
61            return True
62        else:
63            return False
Note: See TracBrowser for help on using the repository browser.