Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
tev
plugin_event
Commits
a4f0b12c
Commit
a4f0b12c
authored
Feb 13, 2015
by
LE GAC Renaud
Browse files
Limit period selector to year.
parent
30cda435
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
48 additions
and
48 deletions
+48
-48
models/vt_graph_selector.py
models/vt_graph_selector.py
+5
-5
models/vt_list_selector.py
models/vt_list_selector.py
+5
-6
models/vt_metric_selector_1D.py
models/vt_metric_selector_1D.py
+5
-6
models/vt_metric_selector_2D.py
models/vt_metric_selector_2D.py
+5
-6
modules/selector.py
modules/selector.py
+28
-25
No files found.
models/vt_graph_selector.py
View file @
a4f0b12c
...
...
@@ -3,8 +3,8 @@
"""
virtdb
.
define_table
(
'graph_selector'
,
Field
(
'
period
_start'
,
'
date
'
,
default
=
'2012-01-01'
),
Field
(
'
period
_end'
,
'
date'
,
default
=
'%s-12-31'
%
year
),
Field
(
'
year
_start'
,
'
integer
'
,
default
=
year
),
Field
(
'
year
_end'
,
'
integer'
),
Field
(
'id_teams'
,
'reference teams'
,
label
=
T
(
'Team'
)),
Field
(
'category'
,
'string'
),
Field
(
'id_people_categories'
,
'reference people_categories'
,
label
=
T
(
"Quality"
)),
...
...
@@ -25,9 +25,9 @@ virtdb.graph_selector.metric.requires = IS_IN_SET(('count', 'sum_fte'))
#
#-------------------------------------------------------------------------------
fieldsModifier
=
dbui
.
FieldsModifier
(
'graph_selector'
)
fieldsModifier
.
configure_field
(
'
period
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
period
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
period
_start'
,
'
period
_end'
,
fieldLabel
=
T
(
'Period'
))
fieldsModifier
.
configure_field
(
'
year
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
year
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
year
_start'
,
'
year
_end'
,
fieldLabel
=
T
(
'Period'
))
mytype
=
'xcomboboxuserreset'
text
=
T
(
'select...'
)
...
...
models/vt_list_selector.py
View file @
a4f0b12c
...
...
@@ -3,12 +3,11 @@
"""
virtdb
.
define_table
(
'list_selector'
,
Field
(
'year'
,
'integer'
,
default
=
year
),
Field
(
'year_start'
,
'integer'
,
default
=
year
),
Field
(
'year_end'
,
'integer'
),
Field
(
'id_teams'
,
'reference teams'
,
label
=
T
(
'Team'
)),
Field
(
'category'
,
'string'
),
Field
(
'id_people_categories'
,
'reference people_categories'
,
label
=
T
(
"Quality"
)),
Field
(
'period_start'
,
'date'
),
Field
(
'period_end'
,
'date'
),
Field
(
'id_people'
,
'reference people'
,
label
=
T
(
'Person'
)),
Field
(
'id_projects'
,
'reference projects'
,
label
=
T
(
'Project'
)),
Field
(
'id_fundings'
,
'reference fundinds'
,
label
=
T
(
'Agency'
)),
...
...
@@ -29,9 +28,9 @@ virtdb.list_selector.id_teams.requires = IS_IN_DB(db, 'teams.team')
#
#-------------------------------------------------------------------------------
fieldsModifier
=
dbui
.
FieldsModifier
(
'list_selector'
)
fieldsModifier
.
configure_field
(
'
period
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
period
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
period
_start'
,
'
period
_end'
,
fieldLabel
=
T
(
'Period'
))
fieldsModifier
.
configure_field
(
'
year
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
year
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
year
_start'
,
'
year
_end'
,
fieldLabel
=
T
(
'Period'
))
mytype
=
'xcomboboxuserreset'
text
=
T
(
'select...'
)
...
...
models/vt_metric_selector_1D.py
View file @
a4f0b12c
...
...
@@ -3,12 +3,11 @@
"""
virtdb
.
define_table
(
'metric_selector_1D'
,
Field
(
'year'
,
'integer'
,
default
=
year
),
Field
(
'year_start'
,
'integer'
,
default
=
year
),
Field
(
'year_end'
,
'integer'
),
Field
(
'id_teams'
,
'reference teams'
,
label
=
T
(
'Team'
)),
Field
(
'category'
,
'string'
),
Field
(
'id_people_categories'
,
'reference people_categories'
,
label
=
T
(
"Quality"
)),
Field
(
'period_start'
,
'date'
),
Field
(
'period_end'
,
'date'
),
Field
(
'id_projects'
,
'reference projects'
,
label
=
T
(
'Project'
)))
virtdb
.
metric_selector_1D
.
category
.
requires
=
IS_IN_SET
(
PEOPLE_CATEGORIES
)
...
...
@@ -23,9 +22,9 @@ virtdb.metric_selector_1D.id_teams.requires = IS_IN_DB(db, 'teams.team')
#
#-------------------------------------------------------------------------------
fieldsModifier
=
dbui
.
FieldsModifier
(
'metric_selector_1D'
)
fieldsModifier
.
configure_field
(
'
period
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
period
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
period
_start'
,
'
period
_end'
,
fieldLabel
=
T
(
'Period'
))
fieldsModifier
.
configure_field
(
'
year
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
year
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
year
_start'
,
'
year
_end'
,
fieldLabel
=
T
(
'Period'
))
mytype
=
'xcomboboxuserreset'
text
=
T
(
'select...'
)
...
...
models/vt_metric_selector_2D.py
View file @
a4f0b12c
...
...
@@ -3,9 +3,8 @@
"""
virtdb
.
define_table
(
'metric_selector_2D'
,
Field
(
'year'
,
'integer'
),
Field
(
'period_start'
,
'date'
),
Field
(
'period_end'
,
'date'
),
Field
(
'year_start'
,
'integer'
,
default
=
year
),
Field
(
'year_end'
,
'integer'
),
Field
(
'id_teams'
,
'reference teams'
,
label
=
T
(
'Team'
)),
Field
(
'category'
,
'string'
),
Field
(
'id_people_categories'
,
'reference people_categories'
,
label
=
T
(
"Quality"
)),
...
...
@@ -26,9 +25,9 @@ virtdb.metric_selector_2D.metric.requires = IS_IN_SET(('count', 'sum_fte'))
#
#-------------------------------------------------------------------------------
fieldsModifier
=
dbui
.
FieldsModifier
(
'metric_selector_2D'
)
fieldsModifier
.
configure_field
(
'
period
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
period
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
period
_start'
,
'
period
_end'
,
fieldLabel
=
T
(
'Period'
))
fieldsModifier
.
configure_field
(
'
year
_start'
,
flex
=
1
)
fieldsModifier
.
configure_field
(
'
year
_end'
,
flex
=
1
)
fieldsModifier
.
merge_fields
(
'
year
_start'
,
'
year
_end'
,
fieldLabel
=
T
(
'Period'
))
mytype
=
'xcomboboxuserreset'
text
=
T
(
'select...'
)
...
...
modules/selector.py
View file @
a4f0b12c
...
...
@@ -7,6 +7,9 @@ from gluon.dal import Field
from
plugin_dbui
import
Selector
class
SelectorActiveItemsException
(
BaseException
):
pass
class
SelectorActiveItems
(
Selector
):
"""Selector to get records active during a given period of time.
...
...
@@ -14,11 +17,7 @@ class SelectorActiveItems(Selector):
C{_period_start} and C{_period_end} as well as C{_year}.
"""
def
__init__
(
self
,
table
,
exclude_fields
=
(
'period_end'
,
'period_start'
,
'year'
)):
def
__init__
(
self
,
table
,
exclude_fields
=
(
'year_end'
,
'year_start'
)):
"""
@type table: gluon.dal.Table
@param table: the virtual table defining the selector.
...
...
@@ -30,17 +29,21 @@ class SelectorActiveItems(Selector):
"""
self
.
_cache_period
=
None
self
.
periode_end
=
None
self
.
period_start
=
None
self
.
year
=
None
self
.
_period_end
=
None
self
.
_period_start
=
None
Selector
.
__init__
(
self
,
table
,
exclude_fields
=
exclude_fields
)
Selector
.
__init__
(
self
,
table
,
exclude_fields
=
exclude_fields
)
if
self
.
year
:
self
.
period_start
=
date
(
self
.
year
,
1
,
1
)
self
.
period_end
=
date
(
self
.
year
,
12
,
31
)
if
self
.
year_start
and
not
self
.
year_end
:
self
.
_period_start
=
date
(
self
.
year_start
,
1
,
1
)
self
.
_period_end
=
date
(
self
.
year_start
,
12
,
31
)
elif
self
.
year_start
and
self
.
year_end
:
self
.
_period_start
=
date
(
self
.
year_start
,
1
,
1
)
self
.
_period_end
=
date
(
self
.
year_end
,
12
,
31
)
else
:
raise
SelectorActiveItemsException
(
"Period is not defined."
)
def
get_years
(
self
):
...
...
@@ -53,8 +56,8 @@ class SelectorActiveItems(Selector):
start
,
end
=
self
.
_cache_period
else
:
start
=
self
.
period_start
.
year
end
=
self
.
period_end
.
year
start
=
self
.
_
period_start
.
year
end
=
self
.
_
period_end
.
year
return
range
(
start
,
end
+
1
)
...
...
@@ -76,9 +79,9 @@ class SelectorActiveItems(Selector):
"""
query
=
Selector
.
query
(
self
,
table
)
if
self
.
period_start
and
self
.
period_end
:
q
=
table
.
start_date
<=
self
.
period_end
q
=
(
q
)
&
((
table
.
end_date
==
None
)
|
(
table
.
end_date
>=
self
.
period_start
))
if
self
.
_
period_start
and
self
.
_
period_end
:
q
=
table
.
start_date
<=
self
.
_
period_end
q
=
(
q
)
&
((
table
.
end_date
==
None
)
|
(
table
.
end_date
>=
self
.
_
period_start
))
query
=
(
query
)
&
(
q
)
return
query
...
...
@@ -88,8 +91,8 @@ class SelectorActiveItems(Selector):
"""Reset the period to the initial values.
"""
if
self
.
_ca
h
che_period
:
self
.
period_start
,
self
.
period_end
=
self
.
_ca
h
che_period
if
self
.
_cache_period
:
self
.
_
period_start
,
self
.
_
period_end
=
self
.
_cache_period
self
.
_cache_period
=
None
...
...
@@ -103,10 +106,10 @@ class SelectorActiveItems(Selector):
"""
# keep original period
if
self
.
_cache_period
==
None
:
self
.
_cache_period
=
(
self
.
period_start
,
self
.
period_end
)
self
.
_cache_period
=
(
self
.
_
period_start
,
self
.
_
period_end
)
self
.
period_start
=
date
(
year
,
1
,
1
)
self
.
period_end
=
date
(
year
,
12
,
31
)
self
.
_
period_start
=
date
(
year
,
1
,
1
)
self
.
_
period_end
=
date
(
year
,
12
,
31
)
class
MySelector
(
SelectorActiveItems
):
...
...
@@ -131,7 +134,7 @@ class MySelector(SelectorActiveItems):
and year are systematically excluded.
"""
li
=
[
'category'
,
'
period
_end'
,
'
period_start'
,
'year
'
]
li
=
[
'category'
,
'
year
_end'
,
'
year_start
'
]
li
.
extend
(
exclude_fields
)
SelectorActiveItems
.
__init__
(
self
,
table
,
exclude_fields
=
li
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment