author | Tero Marttila <terom@paivola.fi> |
Sat, 21 Dec 2013 22:57:44 +0200 | |
changeset 329 | b3778c190aa5 |
parent 186 | 0bfb34281141 |
permissions | -rw-r--r-- |
184
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
1 |
from pvl.verkko import web, db, table |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
2 |
from pvl.verkko.utils import parse_timedelta, format_timedelta |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
3 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
4 |
from pvl.web import html |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
5 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
6 |
import datetime |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
7 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
8 |
import logging; log = logging.getLogger('pvl.verkko.leases') |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
9 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
10 |
class DHCPLease (object) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
11 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
12 |
A DHCP lease with ip/mac and starts/ends |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
13 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
14 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
15 |
DATE_FMT = '%Y%m%d %H:%M' |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
16 |
TIME_FMT = '%H:%M:%S' |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
17 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
18 |
@classmethod |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
19 |
def format_datetime (cls, dt) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
20 |
if dt.date() == datetime.date.today() : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
21 |
return dt.strftime(cls.TIME_FMT) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
22 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
23 |
return dt.strftime(cls.DATE_FMT) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
24 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
25 |
def render_starts (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
26 |
return self.format_datetime(self.starts) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
27 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
28 |
def render_ends (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
29 |
if self.ends : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
30 |
return self.format_datetime(self.ends) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
31 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
32 |
return None |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
33 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
34 |
def ends_class (self) : |
186
0bfb34281141
pvl.verkko.hosts/leases: docfix
Tero Marttila <terom@paivola.fi>
parents:
184
diff
changeset
|
35 |
if self.ends and self.ends > datetime.datetime.now() : |
184
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
36 |
return 'active' |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
37 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
38 |
return None |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
39 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
40 |
@property |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
41 |
def length (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
42 |
if self.ends : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
43 |
return self.ends - self.starts |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
44 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
45 |
return datetime.datetime.now() - self.starts |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
46 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
47 |
def render_length (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
48 |
return format_timedelta(self.length) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
49 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
50 |
db.mapper(DHCPLease, db.dhcp_leases, properties=dict( |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
51 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
52 |
)) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
53 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
54 |
class LeasesTable (table.Table) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
55 |
""" |
186
0bfb34281141
pvl.verkko.hosts/leases: docfix
Tero Marttila <terom@paivola.fi>
parents:
184
diff
changeset
|
56 |
<table> of leases. |
184
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
57 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
58 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
59 |
ITEMS = "Leases" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
60 |
COLUMNS = ( |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
61 |
table.Column('ip', "IP", DHCPLease.ip, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
62 |
rowfilter = True, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
63 |
), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
64 |
table.Column('mac', "MAC", DHCPLease.mac, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
65 |
rowfilter = True, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
66 |
), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
67 |
table.Column('hostname', "Hostname", DHCPLease.hostname), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
68 |
table.Column('starts', "Starts", DHCPLease.starts, DHCPLease.render_starts), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
69 |
table.Column('ends', "Ends", DHCPLease.ends, DHCPLease.render_ends, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
70 |
rowcss = DHCPLease.ends_class |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
71 |
), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
72 |
table.Column('length', "Lease", DHCPLease.ends - DHCPLease.starts, DHCPLease.render_length), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
73 |
) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
74 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
75 |
# XXX: have to set again |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
76 |
ATTRS = dict((col.attr, col) for col in COLUMNS) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
77 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
78 |
# default |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
79 |
SORT = DHCPLease.starts.desc() |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
80 |
PAGE = 20 |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
81 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
82 |
class LeasesHandler (table.TableHandler, web.DatabaseHandler) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
83 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
84 |
Combined database + <table> |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
85 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
86 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
87 |
CSS = web.DatabaseHandler.CSS + table.TableHandler.CSS + ( |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
88 |
"/static/dhcp/hosts.css", |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
89 |
) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
90 |
|
186
0bfb34281141
pvl.verkko.hosts/leases: docfix
Tero Marttila <terom@paivola.fi>
parents:
184
diff
changeset
|
91 |
# view |
184
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
92 |
TABLE = LeasesTable |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
93 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
94 |
def query (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
95 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
96 |
Database SELECT query. |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
97 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
98 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
99 |
return self.db.query(DHCPLease) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
100 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
101 |
def filter_starts (self, value) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
102 |
return ((db.func.now() - DHCPLease.starts) < parse_timedelta(value)) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
103 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
104 |
def filter_ends (self, value) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
105 |
return ((DHCPLease.ends - db.func.now()) > parse_timedelta(value)) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
106 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
107 |
def filter_length (self, value) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
108 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
109 |
Filter by leases valid on given date. |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
110 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
111 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
112 |
dt = datetime.datetime.strptime(value, DHCPLease.DATE_FMT) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
113 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
114 |
return db.between(dt, DHCPLease.starts, DHCPLease.ends) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
115 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
116 |
def filter_ip (self, value) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
117 |
# column is IPv4 string literal format... |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
118 |
if '/' in value : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
119 |
return (db.func.inet(DHCPLease.ip).op('<<')(db.func.cidr(value))) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
120 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
121 |
return (db.func.inet(DHCPLease.ip) == db.func.inet(value)) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
122 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
123 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
124 |
class ListHandler (LeasesHandler) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
125 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
126 |
List of DHCP leases, using table.TableHandler -> LeasesTable. |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
127 |
""" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
128 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
129 |
#TABLE_ITEM_URL = ItemHandler |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
130 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
131 |
def process (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
132 |
# super |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
133 |
table.TableHandler.process(self) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
134 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
135 |
def title (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
136 |
if self.filters : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
137 |
return "DHCP Leases: {filters}".format(filters=self.filters_title()) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
138 |
else : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
139 |
return "DHCP Leases" |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
140 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
141 |
def render (self) : |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
142 |
return ( |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
143 |
self.render_table(self.query, filters=self.filters, sort=self.sorts, page=self.page), |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
144 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
145 |
#html.a(href=self.url())(html('«'), 'Back') if self.filters else None, |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
146 |
) |
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
147 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
148 |
|
eef756d892e9
pvl.verkko.leases: implement ui for dhcp_leases table
Tero Marttila <terom@paivola.fi>
parents:
diff
changeset
|
149 |