Commit Graph
5439 Commits
Author SHA1 Message Date
Cédric Krier ff948820bf Use dropdown for attachments
issue7659
review50551002
2018-09-02 10:44:38 +02:00
Cédric Krier a6a7325f46 Remove deprecation warning
- 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
2018-09-01 17:06:28 +02:00
Cédric Krier 5fadcc6c39 Add missing bus documentation in index and fix build warning 2018-09-01 14:29:51 +02:00
Cédric Krier d221e36653 Improve ModelStorage.copy
* Allow callable in copy default
* Support dotted notation in copy default
* Use setdefault in copy
* Copy default when needed
* Do not set default state in copy
* Use callable and dotted notation in copy default

issue5576
issue7648
review72291002
2018-09-01 01:02:04 +02:00
Nicolas Évrard eb04b82822 Add bus management
issue7537
review66341002
2018-08-30 11:15:01 +02:00
Cédric Krier e4a1a7fc8b Allow to set any default configuration value from environment
issue7620
review74301002
2018-08-27 22:32:45 +02:00
Cédric Krier c37f12834e Use a copied list to iterate on databases
The close method pop the database from the list during the iteration which
will change the size of the dict.

issue7639
review70331002
2018-08-27 10:43:08 +02:00
Cédric Krier 5a7aca31ea Manage session with max_age and timeout
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
2018-08-26 18:04:05 +02:00
Cédric Krier fac1c92bef Use passlib
issue4161
review51461002
2018-08-25 13:06:05 +02:00
Cédric Krier e310cfc96a Remove unique constraint on attachment name
issue7613
review50531002
2018-08-20 22:39:16 +02:00
Cédric Krier 098ec6d737 Use material design icons
and redefine the default list of icons

issue474
review60291002
2018-08-19 19:59:58 +02:00
Cédric Krier 2542224ce5 Add pyson TimeDelta
issue7351
review47651002
2018-08-18 17:19:33 +02:00
Cédric Krier 4d779f27eb Remove migration before 3.0
issue6470
review52421002
2018-08-09 20:43:52 +02:00
Cédric Krier 29d72c8746 Test mimetypes instead of the accept_mimetypes tuple
The property returns a list of tuple with mimetype, priority. The protocol
must be tested against only the mimetype instead of the tuple which will
always failed except if the type is exact.

issue7598
review64311002
2018-08-07 14:00:03 +02:00
Cédric Krier 507a06a107 Use sqlite3.backup when available
issue7212
review44131002
2018-08-06 19:05:44 +02:00
Cédric Krier 97a912896d Improve dialog size
Run configuration wizard in window mode because they contain full form which
need the full main window size.

issue7511
review70301002
2018-08-01 12:21:22 +02:00
Cédric Krier c3d2be19f5 Add support of timestamp field on client
issue6463
review50521002
2018-08-01 11:37:09 +02:00
Sergi Almacellas Abellana 3158279cb3 Remove button if it is not allowed to access some of its dependant fields
issue7502
review47511002
2018-08-01 10:44:06 +02:00
Cédric Krier bc0799ece3 Add support for Python 3.7
issue7547
2018-07-28 16:44:11 +02:00
Cédric Krier ae06a8bca2 Add transactional queue and workers
issue7406
review45461002
2018-07-27 09:32:28 +02:00
Cédric Krier 14e98fbcd3 Remove extra cls argument in __table_handler__ call 2018-07-24 22:16:18 +02:00
Cédric Krier 7a2ce7905a Add __table_handler__ to ModelSQL
issue7581
review48531002
2018-07-24 22:01:08 +02:00
Cédric Krier 3547690d8b Allow SQL expression and where clause in index_action
issue7580
review46621002
2018-07-24 19:29:16 +02:00
Cédric Krier 1e70b97140 Add missing documentation for ModelSQL.__table_history__ 2018-07-19 19:23:10 +02:00
Cédric Krier 8d291af9d9 Fallback to import http.client if HTTPStatus is not present
HTTPStatus is available only since Python 3.5
2018-07-16 15:47:15 +02:00
Cédric Krier bc768136d0 Add documentation about RPC.unique
issue7567
review52411002
2018-07-16 14:49:34 +02:00
Cédric Krier 45a5984a0e Use HTTP status code
- FORBIDDEN for forbidden RPC and no database list
- UNAUTHORIZED for login failure

issue7565
review49511002
2018-07-16 14:47:05 +02:00
Sergi Almacellas Abellana 26f775e0b4 Add test for recursive dependant fields without access
issue7501
review46551002
2018-07-11 16:23:11 +02:00
Sergi Almacellas Abellana 119af696a1 Recursively remove dependant fields when no access
issue7501
review46551002
2018-07-11 16:22:37 +02:00
Cédric Krier 283b3970f8 Do not keep unused database for 30 minutes
This prevents to keep the minimal connection on database that are not used
anymore. And set minimal connection to 0 for template1

issue7531
review62261002
2018-07-10 17:56:44 +02:00
Cédric Krier 78b2811fff Prevent Cache to start too much new transactions
resets starts a transaction only if there is something to store.
clean is run at best every 5 minutes by default.

issue7533
review64261002
2018-07-10 17:03:49 +02:00
Cédric Krier 9681897041 Implicit conversion to boolean in PYSON statement
issue7528
review58271002
2018-07-10 16:55:37 +02:00
Nicolas Évrard d9ff752284 Add domain to dictionary schema
issue7199
review51401002
2018-07-09 12:41:40 +02:00
Sergi Almacellas Abellana dab4d42237 Skip access rules when validating relation domain
issue7555
review62291002
2018-07-06 14:32:01 +02:00
Cédric Krier 49399cf6e0 Fill main language in ir.configuration at database initialization
issue7535
review49491002
2018-07-02 23:23:52 +02:00
Cédric Krier 7f1b851962 Convert authorization key into string
The check method expect to receive a string for the key because it used for a
search against a Char field.

issue7546
review56291002
2018-07-02 23:22:09 +02:00
Cédric Krier 686123bd73 Stop transaction if Cache.clean failed during start
Otherwise the already created connection is never put back to the pool.

issue7532
review49481002
2018-07-02 23:18:40 +02:00
Sergi Almacellas Abellana 6edad5dba6 Rename plain report extractor into txt
Changeset d1101ee226b1 renamed the plain extension into txt but did not update
the report translation extractor

issue7552
review66291002
2018-07-02 12:09:13 +02:00
Cédric Krier 08d57b436d Remove cdecimal dependency
It is no more needed as it is standard under Python3
2018-06-27 10:42:15 +02:00
Cédric Krier 06ac0aa064 Keep Python2 compatibility for the documentation
readthedocs.org build with a Python2 environment.
2018-06-26 23:04:21 +02:00
Cédric Krier f72767bb6c Remove mock from tests requirements 2018-06-26 19:59:01 +02:00
Cédric Krier d2a461390a Remove support for Python 2.7
issue7497
review53261002
2018-06-26 19:11:19 +02:00
Cédric Krier d81519d312 Limit the cache to only matching multivalue records
Non matching records will not be used any way and they could trigger an
unneeded exception.

issue7529
issue7439
review45661002
2018-06-24 16:56:12 +02:00
Cédric Krier 93526b9cd0 Check rule after indirect fields and modification
The rule may depend on indirect field written latter so it must be checked
after the storage of those fields.
On write, the rule must be checked before the modification but also after to
ensure users do not generate records that they can not modify after.

issue7403
review53301002
2018-06-24 16:54:46 +02:00
Cédric Krier 0d07dea2ac Return new records from copy following the input order
issue7512
review58291002
2018-06-24 16:48:27 +02:00
Cédric Krier f4b1789339 Delete rule group on cascade when model is deleted
issue7526
review52381002
2018-06-24 16:44:02 +02:00
Cédric Krier 58f2725049 Allow to define view id in switch client action
issue7364
review36181002
2018-06-20 10:18:33 +02:00
Cédric Krier 1eaea7d1de Do not validate Function fields even with setter
Their values should be already validated by the underlying storage and also
the domain validation requires to have a searcher.

issue7507
review48471002
2018-06-18 21:55:16 +02:00
Cédric Krier 1f6dcc3e56 Precise the view_ids order for Many2Many
issue7509
review47531002
2018-06-18 21:53:33 +02:00
Cédric Krier 7408bb8090 Simplify the creation of dependencies graph
There is no need to create the graph step by step with only dependencies
already registered as far as the depth computation is propagated to all the
children.
Instead of searching level by level the nodes to iterate, it is faster to use
the sort of Python.
create_graph does not need to return its internal states but only the graph.
The ir.module activate and update method does not need to check for missing
dependencies because it is already checked at startup.

issue7466
review45211002
2018-06-11 23:22:35 +02:00