Those attributes are stored as StringPartitioned and each part creates its own
translation record. The translated strings are constructed by concatenation of
each translated part.
issue8040
review46731002
- Enforce refresh session
- Remove write access for admin
- Use root to synchronize
- Do not fail if model does not exist anymore
- Remove from written values fields that do not exist anymore
- Rewrite fs_value to ensure normalized format
issue7950
review45971002
Translated fields are stored in the transactional cache. Using the instance to
get the source value when it is being set, store the former value into the
cache and the source.
issue7997
review58471002
Those access are needed by the client to display the selection widget related
to those models. They do not have it by default because they do not inherit
from ModelView.
issue7996
This allows to replace time_locale and use the translation infrastructure
instead. So it can be customized using the translation override or derivative
languages.
This provides also a standard base to modules that needs calendar month and
day.
issue7815
review56451002
The group table is in a left join so group.active can be NULL for model/field
access without group. On such case the access values must still be selected.
issue7023
- remove invalid escape sequence
- use read_file instead of read_fp
- use importlib instead of imp and __import__
- use callable instead of instance of collections.Callable
- fix silent file closing
- replace SafeConfigParser by ConfigParser
- replace decodestring by decodebytes
- replace encodestring by encodebytes
issue7666
issue7390
review53361004
and clear session when password is changed.
The sessions are checked using on a fix maximum age of 30 days using the
create_date value. The write_date is updated as long as the delay of the last
update is not bigger than the session timeout.
RPC can request a fresh session. A fresh session is a session that was updated
last time before the session timeout. If it is not the case, the session is
deleted and a request to create a new session is sent to the client.
All the sessions of the users for which the password has been changed are also
deleted in order to ensure that stolen session can no more be used.
We use this new feature for set_preferences of user instead of duplicate the
login mechanism.
issue7568
review53331002