Commit Graph
90 Commits
Author SHA1 Message Date
Cédric Krier f7d2c114dc Add support for UTC Date for testing purpose
The tests may depend on the timezone of the browser so we need a way to write
tests as UTC only.

issue9577
review298511002
2020-09-09 23:25:24 +02:00
Cédric Krier 523fdbca0d Support PYSON comparison of date and datetime
issue4879
review270061002
2020-09-05 22:59:38 +02:00
Nicolas Évrard 7cb4222199 Sanitize RichtText fields content
issue9405
review327451002
2020-06-29 17:33:06 +02:00
Cédric Krier eda93a21ed Returns None when evaluating domain with None
We implement the same behavior as SQL with NULL which always returns NULL
except for IS operator. So the evaluation has the same result as the search.

issue8615
review290281002
2020-06-19 00:18:04 +02:00
Cédric Krier c20ef88a21 Prepare pyson result when encoding PYSON statement
The object returned by the pyson method must also be prepared before being
jsonified.

issue9234
review327191003
2020-05-19 18:47:53 +02:00
Cédric Krier b1d501ee66 Skip invalid branch of domain without the inverted field
Those branches of the domain should not prevent to compute a proper inverted
domain for the field as the other fields will be fixed later.

issue9200
review311191002
2020-04-12 23:21:08 +02:00
Cédric Krier 3a079ab1d6 Do not force value in OR-ed clause
When any other variable in Or-ed clause is not known, we can not force the
value of the variable.

issue9092
review272941002
2020-03-06 23:14:24 +01:00
Sergi Almacellas Abellana db5c5c11b7 Add tests for time only timedelta conversion
issue9016
review258701002
2020-02-06 20:48:48 +01:00
Cédric Krier fb9876d0f4 Add tests for types checking in PYSON Greater
issue9002
review276711002
2020-02-04 18:32:10 +01:00
Cédric Krier c0a592ec1f Test only instance of PYSON DateTime with invalid start
Both instances tested can have different values as they are instantiate at
different time.

issue8829
2019-11-16 15:57:56 +01:00
Cédric Krier 0fefec033f Convert to float when parsing timedelta
The user can enter a float value for the converter parts.

issue8816
review256231002
2019-11-16 12:51:50 +01:00
Cédric Krier 3c7d6214a4 Add domain parser tests to parse operator as value
issue8711
review268071002
2019-10-11 11:48:24 +02:00
Cédric Krier 397cd88db9 Add start value to PYSON Date and DateTime
This enable the customization of the starting point for delta operations.

issue8561
review264041002
2019-09-20 11:36:05 +02:00
Cédric Krier 1de6685654 Add MultiSelection field
issue7851
review249911002
2019-09-20 11:32:55 +02:00
Sergi Almacellas Abellana e0d7f0e933 Support dot notation on PYSON Eval
issue8528
review287841003
2019-09-19 14:11:30 +02:00
Cédric Krier e9f6976eae Improve completion on boolean
- Do not convert None to False
- Complete with the opposite or both values

issue8620
review254181002
2019-09-16 23:59:43 +02:00
Cédric Krier 5f91e10c06 Ensure DomainParse.group returns a list of clause
issue8520
review255681002
2019-08-07 19:22:59 +02:00
Cédric Krier f841fd1bc7 Allow to search on related field in search box
The server adds to the definition of the fields, the definition of relation
fields up to specific deep level.
The clients use this relation fields definition to extend the domain parser
with those fields using a dot notation. But those "dotted fields" are not
shown in the search filter to not bloat the popup as it is dedicated to
learning.
In addition, Dict fields are also filled with relation fields coming from the
keys defined in the schema model. As the size can very large, it is possible
to deactivate this feature from the configuration.

issue8293
review259391005
2019-06-16 15:44:14 +02:00
Cédric Krier 87d14df402 Add boostrap JS to test index page
The method get_credentials needs modal.

issue8315
review287361002
2019-05-02 12:58:12 +02:00
Cédric Krier 9c63f7a444 domain_parser should use rec_name for relation field and list
in operator on relation field must use list of ids. So the related rec_name
should be used instead because domain_parser always uses string as value.

issue3540
review271321002
2019-04-24 23:45:06 +02:00
Sergi Almacellas Abellana 247a32f74c Add domain inversion for reference fields
issue7877
review45831002
2019-04-14 14:17:39 +02:00
Cédric Krier 35e082d2a5 Evaluate DateTime PYSON in UTC
issue8165
review70591002
2019-03-08 18:38:16 +01:00
Nicolas Évrard 33ac9a0e46 Fix wrong function name in sao's test introduced in 95501e406c46 2018-12-21 10:40:48 +01:00
Nicolas Évrard 5798cf5cbc Fix domain inversion of child_of mixing M2O and Reference fields
Domain inversion on Reference field does not work when using the dotted
notation with a M2O field using child_of or parent_of.

To solve this we correctly compute the localization of child_of leaves when
using the dotted notation (which renders the inverse_leaf function useless).
But we must also ensure that the selection used by reference fields restrict
the choice to the right models.

issue7869
review60441002
2018-12-20 18:44:31 +01:00
Cédric Krier 118837f6a3 Domain with ids are not stringable
issue7788
review53441002
2018-10-21 21:32:38 +02:00
Cédric Krier 0f2ecee3c4 Apply factor on domain parser
issue7642
review68301002
2018-08-30 16:05:38 +02:00
Cédric Krier 230377544d Fix domain inversion evaluation of constrained field
The evaluation to True of constrained clause should only be done for inversion.
Also it should be valid even if a wrong value is defined in the context.

issue7603
review56331002
2018-08-18 22:50:51 +02:00
Cédric Krier b64ba85821 Add pyson TimeDelta
issue7351
review47651002
2018-08-18 17:19:33 +02:00
Cédric Krier 67e05614c2 Implicit conversion to boolean in PYSON statement
issue7528
review58281002
2018-07-10 16:57:15 +02:00
Nicolas Évrard 7b60080090 Add (i)like support to domain inversion
issue7522
review58261002
2018-06-27 10:25:17 +02:00
Cédric Krier 870b7a4add Add tests for domain evaluation of reference field with Array value
issue7418
review49311002
2018-05-10 20:14:15 +02:00
Cédric Krier fa508d5366 Add test for parse_clause of nested generator
issue7345
review42111002
2018-04-22 00:20:54 +02:00
Cédric Krier a1e72f1839 Add tests for PYSON Equal between moment
issue7187
review44081002
2018-04-09 10:46:37 +02:00
Cédric Krier 11486416c4 Make PYSON widget works for Object and Array
- eval object as statement
- generalise toString from PYSON
- do not modify the value because of different encoding

issue7105
review46311002
2018-04-03 16:44:24 +02:00
Cédric Krier d55033bbc3 Correctly evaluate domain between xxx2many and null
The value of empty xxx2Many is an empty Array which must be comparable to
null.

issue7163
review44681002
2018-03-04 00:53:46 +01:00
Cédric Krier f990f1e5a3 Do not fail when completing selection with last value None
This may happen when searching for several values which need to be quoted
using ';"'.

issue6714
review35641002
2017-10-05 22:34:12 +02:00
Cédric Krier 88643f1491 Use valueOf Number to convert to Boolean
issue6746
review37671002
2017-09-07 21:03:12 +02:00
Diego Abad da43bf0673 Prepare pyson expression before encode when use date and datetime fields
Moment library implements its own toJSON
function returning string format:
http://momentjs.com/docs/#/displaying/as-json/

As moment object has toJSON function
the replacer used to stringify pyson
expressions never receive a moment object
because it is dumped before.

It is needed to prepare pyson object
as same design as Sao.rpc.prepareObject

issue6027
review31701002
2016-11-26 19:43:00 +01:00
Cédric Krier 24b522c7fc Make Bool PYSON evaluate to false empty Time and TimeDelta
As Time and TimeDelta are moment Object, Bool should specially evaluate those
instances.

issue5993
review25781002
2016-10-31 17:20:44 +01:00
Sergi Almacellas Abellana 4894953e36 Add string representation of PYSON statements
issue5952
review32681002
2016-10-21 11:55:53 +02:00
Sergi Almacellas Abellana df9edd62ae Add tests with OR clauses for DomainParse.parse_clause
issue5883
review26651003
2016-09-20 09:51:19 +02:00
Sergi Almacellas Abellana d6b3ae4ba0 Add noeval to PYSONDecoder
issue1616
review25491002
2016-09-13 10:15:42 +02:00
Sergi Almacellas Abellana b0a0e653af Add test for DomainParser.complete_reference
issue5731
review22191002
2016-07-26 15:56:46 +02:00
Cédric Krier 50afb5b695 Allow null in Greater/Less PYSON
issue5711
review25501002
2016-07-19 07:43:04 +07:00
Xavier Codinas 742a5ed995 Add missing variable in DomainParser.completion
And add test for completion on empty value

issue5664
review25251002
2016-06-27 19:10:10 +02:00
Sergi Almacellas Abellana da3df7dd8f Fix search_box autocomplete for empty values
issue5619
review28281002
2016-06-09 17:43:01 +02:00
Sergi Almacellas Abellana a13196b80a Add tests for null values in pyson encode
issue5594
review18181002
2016-06-03 11:21:42 +02:00
Cédric Krier f3aa2a82ea Fix PYSON.Equal with Array
In javascript, Array comparison doesn't work with '=='. It should use the
Sao.common.compare.

issue5474
review18001002
2016-04-15 14:09:35 +07:00
Cédric Krier 3f381dac71 Uses 30 days for month for Timedelta
issue5282
review20041002
2016-03-21 23:54:08 +01:00
Cédric Krier 1f6b0f9f8c Fix domain parser when value is an operator
issue5266
review24751002
2016-02-02 19:09:55 +01:00