Benjamin Renard
25f2ccd32e
LSformElement::getEmptyField(): do not set value to null (already set by fetchTemplate())
2021-11-29 12:34:39 +01:00
Benjamin Renard
b42093cf45
Improve handling Ajax mode
...
- LSurlRequest: add ajax property to check if Ajax mode is enabled
- LSurl: handle_request() now handle Ajax mode detection
- LSsession :: setApiMode now trigger LSsession :: setAjaxDisplay()
- Fix LStemplate::fatal_error() to correctly handle Ajax mode
- LSform: fix reporting failure on Ajax submit
2021-11-16 13:59:17 +01:00
Benjamin Renard
d15fdc5d8e
LSformElement::password: fix multiple sent email in some cases
2021-11-15 18:38:40 +01:00
Benjamin Renard
2d27a7049f
LStemplate: fix & improve handling loop detection displaying fatal error
2021-10-25 19:05:10 +02:00
Benjamin Renard
74df3d2f61
LStemplate: improve handling loop detection displaying fatal error
2021-10-25 18:55:00 +02:00
Benjamin Renard
06071f2f5f
LStemplate: detect and stop template displaying loop
2021-10-25 17:48:58 +02:00
Benjamin Renard
c9b2341dbf
LSformElement::password: fix sendind email in create form
2021-10-21 20:25:58 +02:00
Benjamin Renard
27f06b7b66
generate_lang_file CLI command: add -F/--fix-utf8 parameter
...
Add an option to allow to try to load and fix existing translation files
with broken UTF-8 characters.
2021-10-08 17:20:31 +02:00
Benjamin Renard
c0d874c68d
generate_lang_file CLI command: add -K/--keep-unused parameter
2021-10-08 17:17:17 +02:00
Benjamin Renard
6770babe14
LSldapObject::getValue(): ensure return is array in case of attribute
2021-10-08 14:32:56 +02:00
Benjamin Renard
5e500d5cde
LSurl: expose current request as static class variable
2021-10-08 12:31:48 +02:00
Benjamin Renard
59ecc0d7fa
Add authz proxy authorization support
...
Add useAuthzProxyControl parameter to combine with useUserCredentials to
also using authz proxy authorization.
2021-08-26 20:16:22 +02:00
Benjamin Renard
9907e08f18
Code cleaning
2021-08-25 18:02:37 +02:00
Benjamin Renard
a3aa857c78
Improve/fix LSdefaut / LSsession / LSerror / LSdebug / LSinfosBox
2021-08-25 16:50:29 +02:00
Benjamin Renard
26c0026cfc
LSformRule_compare: code cleaning
2021-08-25 09:41:05 +02:00
Benjamin Renard
fed9acfedd
LSauthMethod_HTTP: fix logging HTTP_AUTHORIZATION parsing error
2021-08-25 09:39:25 +02:00
Benjamin Renard
b5c5123bbb
LSformElement_password: code cleaning
2021-08-25 09:37:44 +02:00
Benjamin Renard
2b71bba8db
LSurl::add_handler: fix handling all params in case of multiple patterns
2021-08-18 12:29:50 +02:00
Benjamin Renard
2fa20316bc
LSattr_html: add $singleValue class variable to handle this common case
...
Also unify the usage of the class variable $LSformElement_type.
2021-08-18 12:28:56 +02:00
Benjamin Renard
e099a27533
Add dynamic groups support (with cache members attributes)
...
Add LSaddon dyngroup with feature to handle update static cache members
attributes on users or dyngroup URI changes. The update process could
also be runned using CLI update_dyngroups_members_cache command
(allowing cron task configuration).
LSexample also evoluate to add example of dynamic groups implementation.
On this occasion, the restore_lsexample script was completely rewrited.
2021-07-21 19:42:22 +02:00
Benjamin Renard
a7356f5e67
LSformRules: configure CLI parameters autocompleters
2021-07-21 16:35:02 +02:00
Benjamin Renard
f635ad609a
Add test_form_rule CLI command
...
You have to manually load LSformRule class to use this command, for
instance :
ldapsaisie -L LSformRule test_form_rule integer 12
2021-07-21 16:03:33 +02:00
Benjamin Renard
18cc960755
Add LSformRule_numberOfValues
2021-07-19 16:54:41 +02:00
Benjamin Renard
531991a1e5
LSform/LSformRule: Handle rule without options or message
2021-07-19 16:54:41 +02:00
Benjamin Renard
3298320b3d
LSform / LSformRule: only show default error message if rule does not trigger itself an error
2021-07-19 16:54:41 +02:00
Benjamin Renard
0af81bf0a3
Improve LSformRules to throw LSformRuleException with error details
2021-07-12 18:59:34 +02:00
Benjamin Renard
9315acc545
Remove miss commited file
2021-07-12 18:29:44 +02:00
Benjamin Renard
ba8b78706a
jsonCompositeValue & supannCompositeValue: fix checking value method
...
Use LSformRule::validate_values() to check value instead of
reimplementing incomplete checking method.
2021-07-12 17:57:07 +02:00
Benjamin Renard
988d744836
LSformRule: add possibility to throw custom exception to provide error details
2021-07-12 17:54:08 +02:00
Benjamin Renard
9469103f0e
Add footer with LdapSaisie version
2021-07-08 10:39:09 +02:00
Benjamin Renard
3161ace3b7
LSformElement_supannCompositeAttribute::getPostData(): fix handing empty form value
2021-07-07 17:50:56 +02:00
Benjamin Renard
e8b8dd1730
supannRessourceEtat & supannRessourceEtatDate: fix parsing & formating optional components value
2021-07-07 17:48:45 +02:00
Benjamin Renard
3c6ce596d9
LSsession::getLSuserObject(): improve errors logging
2021-07-07 16:27:35 +02:00
Benjamin Renard
6e98cfef20
supannRessourceEtat & supannRessourceEtatDate: fix parsing optional components value
2021-07-07 16:20:00 +02:00
Benjamin Renard
25162f406d
supannRessourceEtat & supannRessourceEtatDate: add empty possible value to required components to allow empty value
2021-07-07 13:45:00 +02:00
Benjamin Renard
3c7ec2890a
API / Show an object: make API return all accessible attribute
...
The method now return all accessible attributes and not only thow who
are configured to be displayed in view
2021-06-30 18:11:26 +02:00
Benjamin Renard
0b850e8acb
LSlang: fix handling locales that only existing in local directory
2021-06-29 16:50:25 +02:00
Benjamin Renard
516cc12d1b
LSlang: fix loading alternative lang files in local directory
2021-06-29 16:46:50 +02:00
Benjamin Renard
afb67b02e9
LSurl: add request HTTP method check that must match with one of supported by handler (default: GET or POST)
2021-06-24 10:21:50 +02:00
Benjamin Renard
c45f884aa1
LSrelation: add display_name_format parameter
2021-06-21 12:31:49 +02:00
Benjamin Renard
0360ab7951
API: add keepParamsBetweenSearches on LSobject search
2021-06-14 11:46:44 +02:00
Benjamin Renard
df57967669
LSattr_html::select_box: add inline parameter
2021-06-11 18:26:25 +02:00
Benjamin Renard
107d8ba0af
LSformElement supannRessourceEtat & supannRessourceEtatDate: do not check etat value on parsing attribute value
2021-06-11 16:43:59 +02:00
Benjamin Renard
c87f609610
LSformElement_supannLabeledValue: improve API mode
2021-06-11 16:36:19 +02:00
Benjamin Renard
c533aecc34
LSformElement_supannCompositeAttribute: handle API/CLI mode
2021-06-11 16:33:42 +02:00
Benjamin Renard
7c45c4bb8c
LSformElement_supannCompositeAttribute: fix PHP syntax error
2021-06-11 16:22:32 +02:00
Benjamin Renard
72933c9408
Update french translation according to recent changes on LSaddon::supann
2021-06-11 14:37:19 +02:00
Benjamin Renard
ef2271e7eb
Add support of supannRessourceEtat & supannRessourceEtatDate attributes
2021-06-11 14:28:08 +02:00
Benjamin Renard
88bb4eef49
LSformElement_supannCompositeAttribute: add flexibility
...
- Add possibility to override parse/format value methods to handle
different composite value formats
- Add possibility to configure date components LDAP format
2021-06-11 14:25:52 +02:00
Benjamin Renard
441b5d0af9
LSformElement_supannLabeledValue: Add validation of POST values from configured nomenclatures
2021-06-11 14:19:03 +02:00
Benjamin Renard
7e68b42b4c
Add support of some SUPANN attributes
...
Add support of following SUPANN attributes:
- supannEtuDiplome
- supannEtuElementPedagogique
- supannEtuEtape
- supannEtuRegimeInscription
- supannEtuSecteurDisciplinaire
- supannEtuTypeDiplome
For each, a new specific LSattr_html & LSformElement class was added,
and a function is provided to generate then from supannEtuInscription
attribute values.
2021-06-11 14:17:42 +02:00
Benjamin Renard
83e795044f
LSattr_ldap_sambaAcctFlagsparse_flags(): fix handling null|empty value
2021-06-10 19:02:19 +02:00
Benjamin Renard
8dbbda801a
LSattr_ldap::naiveDate: Add format option
2021-06-10 19:01:22 +02:00
Benjamin Renard
159b3fbe7e
Fix PHP warning
2021-06-10 18:45:39 +02:00
Benjamin Renard
40fdc92451
Code cleaning: fix tabs
2021-06-10 18:45:00 +02:00
Benjamin Renard
febb83e39d
Update french translation according to recent changes on LSaddon::supann
2021-06-10 18:06:19 +02:00
Benjamin Renard
1683cadd73
LSaddon::supann: add new components of supannEtuInscription attribute (SUPANN 2021)
2021-06-10 17:58:03 +02:00
Benjamin Renard
bf28a6ea94
LSaddon::supann: rework on nomenclatures loading & add support of supannCodePopulation, supannEmpProfil & supannExtProfil
2021-06-10 17:56:34 +02:00
Benjamin Renard
cab8c2e66d
LSform: fix typo
2021-06-09 18:52:26 +02:00
Benjamin Renard
1aed362863
LSformElement::supannLabeledValue: Fix typo
2021-06-09 18:51:52 +02:00
Benjamin Renard
0ac0a7e068
Add support for supannMailPrive, supannAdressePostalePrivee and supannTelephonePrive attributes
2021-06-09 15:48:46 +02:00
Benjamin Renard
2a1d079717
LSformElement::supannLabeledValue: fix unparsable value display
2021-06-03 17:17:09 +02:00
Benjamin Renard
631502d9c2
LSsearch::setParamsFromRequest(): fix error handling filter parameter
2021-05-25 10:19:16 +02:00
Benjamin Renard
4b634e408d
LSldapObject: fix triggering after_modify event on create
2021-05-21 11:29:57 +02:00
Benjamin Renard
59d6d0865d
LSformElement::password: fix using LSldapobject getDisplayFData method instead of getFData
2021-05-21 11:29:57 +02:00
Benjamin Renard
7005100ac4
LSioFormat: handle multiple formats for generated fields
2021-04-27 12:13:32 +02:00
Benjamin Renard
6d95f9bfd5
LSauthMethod: fix PHP warning
2021-04-14 16:09:03 +02:00
Benjamin Renard
639f46d8a4
Add LSdefaut copyable feature and use it in showTechInfo
2021-04-14 15:46:36 +02:00
Benjamin Renard
2b6b8ce270
Fix project URLs and list emails addresses
2021-04-13 18:04:19 +02:00
Benjamin Renard
d637a570f1
LSattr_html::valueWithUnit: fix handling zero value
2021-03-25 15:52:51 +01:00
Benjamin Renard
573737adfd
LSio::import/export: set timeout according to the number of objects
2021-03-23 16:40:03 +01:00
Benjamin Renard
d0397ec41e
LSattribute & LSattr_html: fix handling current/provided data
2021-03-23 14:27:27 +01:00
Benjamin Renard
3ddc51004f
LSformElement::image: fix bug deleting current image
2021-03-23 14:23:33 +01:00
Benjamin Renard
0e2911dfe5
LSformElement::image: fix getApiValue() method on multiple values
2021-03-23 12:38:36 +01:00
Benjamin Renard
f960b2d394
API: search method now return true attributes value as handle by LdapSaisie (instead of raw attributes's values)
2021-03-23 12:37:45 +01:00
Benjamin Renard
640c0c1d70
LSattr_ldap::pwdHistory: change timezone to local before displaying
2021-03-19 14:11:52 +01:00
Benjamin Renard
3d9b3c2947
LSsession::displayAjaxReturn(): Adjust HTTP returned code on unsuccessfull request
2021-03-11 17:29:20 +01:00
Benjamin Renard
67774a6832
LSformElement :: mail: Move autocomplete feature in text parent class
2021-03-03 14:34:06 +01:00
Benjamin Renard
c9f63fa5e9
Fix some PHP warnings
2021-02-23 20:03:04 +01:00
Benjamin Renard
5b7b22dde1
Fix/improve/factorize search pagination
...
First page of a search is now one instead of zero. The pagination.tpl
template file contain factorized code to display pages list HTML code.
2021-02-22 17:31:57 +01:00
Benjamin Renard
8c317e127c
LSattribute::addToForm(): fix checking user rights before adding/freezing it
2021-02-22 15:50:43 +01:00
Benjamin Renard
a217e42a19
LSioFormat: Don't warn about non-added export attribute, just debug it
2021-02-18 16:02:46 +01:00
Benjamin Renard
4c4983b634
LSioFormat: Add some checks/logs during export process
2021-02-18 15:51:46 +01:00
Benjamin Renard
6098f3bc5f
LSioFormatCSV: remove unused require on 'File/CSV/DataSource.php'
2021-02-18 15:49:51 +01:00
Benjamin Renard
fb62ce2eed
Fix reconnectAs() calls
2021-02-17 11:45:39 +01:00
Benjamin Renard
82a236a67c
LSattr_ldap_password: fix verify method for Salted SHA2 passwords
2021-02-08 11:11:23 +01:00
Benjamin Renard
f47e40a5ac
LSio: fix isSubmit() method to handle GET or POST forms
2021-02-05 18:39:24 +01:00
Benjamin Renard
1e284f098a
Regroup LSimport & LSexport classes in one common LSio class
2021-02-05 18:37:07 +01:00
Benjamin Renard
f36c989136
Add import & export CLI commands
2021-02-05 18:12:44 +01:00
Benjamin Renard
b8040e3d8b
LSformElement::select: fix typo in last commit
2021-02-05 16:41:10 +01:00
Benjamin Renard
19dd343106
LSformElement::getApiValue(): add $details parameter
...
This parameter permit to control if the returned value contain or not
details. By default (no details), the value used the format as accept by
create/modify method. The details mode is more efficient to display the
value.
2021-02-05 12:22:44 +01:00
Benjamin Renard
5f4798a5a1
Add export feature using existing LSioFormats
2021-02-05 12:18:26 +01:00
Benjamin Renard
7ecfa33afc
import: fix some PHP warnings and update comments
2021-02-04 12:35:14 +01:00
Benjamin Renard
7af066f4c2
LSimport: code cleaning and reload form options after submiting
2021-02-04 11:52:26 +01:00
Benjamin Renard
a25b1e8c10
LSldapObject: clean updata/validate form data code to fix handling just check mode
2021-02-04 11:49:35 +01:00
Benjamin Renard
e05f0df20d
Fix PHP warning
2021-02-04 10:33:13 +01:00
Benjamin Renard
16373e6904
Fix content-type on Ajax return
2021-02-04 10:22:10 +01:00
Benjamin Renard
0ec390e1fe
Add API feature
...
Some major changes have been made to handle this new feature :
- LSsession now have a flag about API mode. The displayTemplate() and
displayAjaxReturn() methods have been adjust to correctly handle this
mode.
- LSauth system have been adjust to handle a custom API mode :
- LSauthMethod can support or not this mode : the $api_mode_supported
permit to defined if supported (default, false). Currently, only
HTTP (default in API mode) and annonymous mode support it.
- An api_access parameter permit to configure witch type of user
LSobject types could use the API. This flag must be set to True to
allow a type of LSobject (default: False). In a same way, a
web_access parameter now permit to disable Web access for some
types of users (but this parameter is optional and its default value
is True).
- The HTTP method is the privileged first method for API mode. In this
mode, if auth data aren't present in environment, it will request it
by triggered a 403 HTTP error. Realm can be configured with new
LSAUTHMETHOD_HTTP_API_REALM constant.
- The LStemplate system handle API mode to correctly react on errors: it
return a JSON answer instead of HTML page. Error pages also now return
adjusted HTTP code (404 or 500).
- The LSurl system have been adjust to handle API mode :
- On declaring handlers, we could now specify if it's an API view with
new $api_mode paremeter of add_handler() method
- The LSurlRequest object have a new attribute to check if it's an API
request
- The error_404() method handle the API mode to return JSON answer.
Furthermore, if no handlers matched with the requested URL, API mode
is automatically enabled if the requested URL starts with 'api/'.
- LSform implement it own API mode flag and a new submited flag that
be toggle via the new setSubmited() method. Some major changes also
occured on LSformElement classes to specifically handle API
input/output for each types of attributes:
- a new getApiValue() method permit to retrieve the API value of the
attribute (on show API view)
- the getPostData() method now have to correctly handle API input for
the attribute (on create/modify API views). A programmatic way have
been adopted for each types of attributes.
- The LSimport and LScli create/modify commands also evolved to enable
API mode of the LSform. This permit to take advantage of the new
capability of LSform/LSformElement to handle input values with a
programmatic way.
- New routes have been add to handle API views. All this new routes
start with 'api/1.0/' and use the same URL schema as the web UI. The
API currently permit to search/show/add/modify/remove LSobjects and
manages their relations.
2021-02-03 14:40:28 +01:00
Benjamin Renard
e92bc10c8b
LSldapObject: fix default $attrValues handling for updateObjectsInRelation/deleteOneObjectInRelation methods
2021-02-03 14:19:37 +01:00
Benjamin Renard
305d7447ff
LSsession: Fix relationCanAccess() method and add debuging infos
2021-02-03 12:44:38 +01:00