Package com.simplicite.util
Class UserSessionFilters
- java.lang.Object
-
- com.simplicite.util.UserSessionFilters
-
- All Implemented Interfaces:
java.io.Serializable
public class UserSessionFilters extends java.lang.Object implements java.io.Serializable
Global filters in user's session- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
UserSessionFilters.Filter
-
Constructor Summary
Constructors Constructor Description UserSessionFilters(Grant g)
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFieldFilter(java.lang.String field, java.lang.String value, boolean updatable, boolean uiOnly)
Global field filter to apply on all objects having the fieldvoid
addObjectFilter(java.lang.String object, java.lang.String rowId, boolean updatable, boolean uiOnly, java.lang.String fk)
Global reference filter to apply on all foreign-key of objectvoid
apply(ObjectDB obj)
Prepare fixed fieldsvoid
delete()
Delete user filters in DBjava.lang.String
getEndDate()
Get optional end dateUserSessionFilters.Filter
getFieldFilter(java.lang.String field)
java.util.Map<java.lang.String,UserSessionFilters.Filter>
getFieldFilters()
java.lang.String
getFilterObjectId(java.lang.String object)
Get the object filter Idjava.lang.String
getFilterValue(java.lang.String field)
Get the field filterjava.lang.String
getId()
UserSessionFilters Id when the user has stored filtersUserSessionFilters.Filter
getObjectFilter(java.lang.String object)
java.util.Map<java.lang.String,UserSessionFilters.Filter>
getObjectFilters()
java.lang.String
getSearchSpec(ObjectDB obj, java.util.List<ObjectField> hosts)
Compile global filters to SQL partjava.lang.String
getStartDate()
Get optional start dateboolean
hasDateRange()
boolean
hasPublicFilters()
Has public filters (date range, field or object) ?void
loadUserFilters()
Load filter values stored in DBvoid
removeFieldFilter(java.lang.String field)
Remove filter on fieldvoid
removeObjectFilter(java.lang.String object)
Remove filter on objectvoid
reset()
Reset user filters in DB and sessionvoid
resetWorkingDates()
Reset the global date rangevoid
setDateRange(boolean b)
void
setWorkingDate(java.lang.String date)
Global fixed date to search object with period overlapvoid
setWorkingDates(java.lang.String startDate, java.lang.String endDate)
Global date range to search object with period overlapjava.lang.String
toJSON(boolean pub)
Get filters as JSONjava.lang.String
validate(ObjectDB obj)
Validate object fields within session filters
-
-
-
Constructor Detail
-
UserSessionFilters
public UserSessionFilters(Grant g)
Constructor- Parameters:
g
- User rights
-
-
Method Detail
-
setDateRange
public void setDateRange(boolean b)
-
hasDateRange
public boolean hasDateRange()
-
getFieldFilters
public java.util.Map<java.lang.String,UserSessionFilters.Filter> getFieldFilters()
-
getFieldFilter
public UserSessionFilters.Filter getFieldFilter(java.lang.String field)
-
getObjectFilters
public java.util.Map<java.lang.String,UserSessionFilters.Filter> getObjectFilters()
-
getObjectFilter
public UserSessionFilters.Filter getObjectFilter(java.lang.String object)
-
toJSON
public java.lang.String toJSON(boolean pub)
Get filters as JSON- Parameters:
pub
- get only public/updatable filters for front usage- Returns:
- JSON
-
addFieldFilter
public void addFieldFilter(java.lang.String field, java.lang.String value, boolean updatable, boolean uiOnly)
Global field filter to apply on all objects having the field- Parameters:
field
- Field namevalue
- Optional filter valueupdatable
- Field is accessible for change by useruiOnly
- Apply filter rule on UI instance only?
-
addObjectFilter
public void addObjectFilter(java.lang.String object, java.lang.String rowId, boolean updatable, boolean uiOnly, java.lang.String fk)
Global reference filter to apply on all foreign-key of object- Parameters:
object
- Object namerowId
- Optional object rowIdupdatable
- Accessible for change by useruiOnly
- Apply filter rule on UI instance only?fk
- Foreign-key name to get FK value in table m_user_filters
-
removeFieldFilter
public void removeFieldFilter(java.lang.String field)
Remove filter on field- Parameters:
field
- Field name
-
removeObjectFilter
public void removeObjectFilter(java.lang.String object)
Remove filter on object- Parameters:
object
- Object name
-
getFilterValue
public java.lang.String getFilterValue(java.lang.String field)
Get the field filter- Parameters:
field
- Field name- Returns:
- filter
-
getFilterObjectId
public java.lang.String getFilterObjectId(java.lang.String object)
Get the object filter Id- Parameters:
object
- Object name- Returns:
- filter
-
hasPublicFilters
public boolean hasPublicFilters()
Has public filters (date range, field or object) ?
-
setWorkingDates
public void setWorkingDates(java.lang.String startDate, java.lang.String endDate)
Global date range to search object with period overlap- Parameters:
startDate
- optional start date YYYY-MM-DDendDate
- optional end date YYYY-MM-DD
-
setWorkingDate
public void setWorkingDate(java.lang.String date)
Global fixed date to search object with period overlap- Parameters:
date
- fixed date YYYY-MM-DD
-
resetWorkingDates
public void resetWorkingDates()
Reset the global date range
-
getStartDate
public java.lang.String getStartDate()
Get optional start date- Returns:
- YYYY-MM-DD
-
getEndDate
public java.lang.String getEndDate()
Get optional end date- Returns:
- YYYY-MM-DD
-
apply
public void apply(ObjectDB obj)
Prepare fixed fields- Parameters:
obj
- Object
-
validate
public java.lang.String validate(ObjectDB obj)
Validate object fields within session filters- Parameters:
obj
- Object to validate- Returns:
- Error ERR_DATERANGE or null
-
getId
public java.lang.String getId()
UserSessionFilters Id when the user has stored filters
-
loadUserFilters
public void loadUserFilters()
Load filter values stored in DB
-
getSearchSpec
public java.lang.String getSearchSpec(ObjectDB obj, java.util.List<ObjectField> hosts)
Compile global filters to SQL part- Parameters:
obj
- Object to applyhosts
- SQL host values- Returns:
- part of where clause
-
delete
public void delete()
Delete user filters in DB
-
reset
public void reset()
Reset user filters in DB and session
-
-