Commit graph

197 commits

Author SHA1 Message Date
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
8cb36c7aa9 doc: fix typos 2021-07-19 16:54:41 +02:00
Benjamin Renard
18cc960755 Add LSformRule_numberOfValues 2021-07-19 16:54:41 +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
b37a2b321f Doc/LSrelation: Make canEdit_attribute parameter more visible in case of simple relation 2021-06-21 12:32:38 +02:00
Benjamin Renard
c45f884aa1 LSrelation: add display_name_format parameter 2021-06-21 12:31:49 +02:00
Benjamin Renard
df57967669 LSattr_html::select_box: add inline parameter 2021-06-11 18:26:25 +02:00
Benjamin Renard
8dbbda801a LSattr_ldap::naiveDate: Add format option 2021-06-10 19:01:22 +02:00
Benjamin Renard
fdbb9842df Improve doc about attribute values validation 2021-06-03 17:35:16 +02:00
Florent Angebault
d94f96498a doc: fix some typos 2021-05-04 18:56:24 +02:00
Benjamin Renard
7005100ac4 LSioFormat: handle multiple formats for generated fields 2021-04-27 12:13:32 +02:00
Benjamin Renard
d6aad3acc8 doc: add sections missing IDs 2021-04-13 18:45:47 +02:00
Benjamin Renard
67774a6832 LSformElement :: mail: Move autocomplete feature in text parent class 2021-03-03 14:34:06 +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
d27a59f807 Add LSobject import/export API methods 2021-02-08 12:42:00 +01:00
Benjamin Renard
5f4798a5a1 Add export feature using existing LSioFormats 2021-02-05 12:18:26 +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
ac7e042c2a LSattribute: add default LDAP & HTML type (ascii / text) 2021-01-29 15:59:13 +01:00
Benjamin Renard
e2ff1503ab LSattr_ldap:📅 add note about date & time with micro-seconds 2020-12-09 18:58:43 +01:00
Benjamin Renard
3a946a47e3 Doc: Add note about the default_value LSattribute parameter 2020-12-02 20:20:05 +01:00
Benjamin Renard
f2a78f3d5c LSattr_html::sambaAcctFlags: Add note about how setting default_value 2020-12-02 20:19:20 +01:00
Benjamin Renard
a7ab192274 Add LSldap_attr::pwdHistory 2020-12-02 18:12:00 +01:00
Benjamin Renard
c6501d479b LSattr_html::jsonCompositeAttribute: Add fullWidth parameter and improve responsive display 2020-12-02 17:43:55 +01:00
Benjamin Renard
b93187f208 LSformElement::labeledValue: add translate_labels parameter and fix translating it 2020-11-25 15:46:25 +01:00
Benjamin Renard
43cf5ccd7a LSaddon SUPANN: add support for some attributes
Add support of following attributes:
- supannCivilite:
  add supannGetCivilitePossibleValues()
- eduPersonAffiliation:
  add supannGetAffiliationPossibleValues() and
  supannCheckEduPersonAffiliation()
- supannCheckEduPersonAffiliation:
  add supannGetAffiliationPossibleValues() and
  supannCheckEduPersonPrimaryAffiliation()
- supannCheckEduPersonPrimaryAffiliation:
  add generate_eduPersonPrincipalName()
2020-09-22 18:10:05 +02:00
Benjamin Renard
de62999fea LSattr_html::select_list: add get_possible_values parameter 2020-09-22 15:04:31 +02:00
Benjamin Renard
8f407e9345 Add LSaddon::showTechInfo 2020-09-21 15:47:07 +02:00
Benjamin Renard
d6c9e358f3 LSaddon::mail: add possibility to send HTML email 2020-09-16 10:35:47 +02:00
Benjamin Renard
a848888894 Add doc about LSattr_ldap::shadowExpire 2020-09-11 13:51:50 +02:00
Benjamin Renard
15941ac678 Add LSattr LDAP & HTML sambaAcctFlags type 2020-09-09 18:45:34 +02:00
Benjamin Renard
7e74853021 LSattr_html::date & LSformRule:📅 add special_values parameter 2020-09-09 18:40:44 +02:00
Benjamin Renard
0de62c218d doc: fix info about LSobject and LSattribute event triggers configuration 2020-08-26 17:06:24 +02:00
Benjamin Renard
0c9a077399 doc: fix typo 2020-08-25 20:32:35 +02:00
Benjamin Renard
f234709722 LSlog: add TRACE log level 2020-08-07 18:05:50 +02:00
Benjamin Renard
712d18b09f LSsession: fix/improve methods & doc about global preference parameters 2020-08-06 13:48:43 +02:00
Benjamin Renard
5b6bb28b4d LSformElement :: password: fix/improve send new password feature 2020-07-07 16:04:32 +02:00
Benjamin Renard
5872430863 LSlog handlers: add enabled parameter 2020-06-30 11:03:48 +02:00
Benjamin Renard
2c6b95b3d6 LSformElement::password: Add confirmInput feature 2020-06-30 09:57:16 +02:00
079f39ab4b LSformElement::password: Add confirmChangeQuestion parameter 2020-06-13 10:14:16 +02:00
Benjamin Renard
38ed2ca08c LSformElement::password: Add confirmChange parameter 2020-06-11 20:14:16 +02:00
Benjamin Renard
c989126f9a Fix historical typo in variable $GLOBALS['defaultJSscripts'] name (missing "R") 2020-05-28 20:32:18 +02:00
Benjamin Renard
d68b15bac3 Add default LSprofiles with the name of authenticable object types
Consquently adjust LSaccessRigthsMatrixView addon and make some 
representative change in LSexample for demo
2020-05-25 11:09:32 +02:00
Benjamin Renard
fc92305bf3 Doc: fix typo 2020-05-19 18:13:02 +02:00
Benjamin Renard
a6e9aeaa8b Update doc about new possibility of LSattr_html :: select_object to select multiple type of objects 2020-05-19 18:12:28 +02:00
Benjamin Renard
c014e235e8 doc / LSauthMethod_HTTP: remove note about old authObjectFilter
Replace in previous commit by a global note on this topic.
2020-05-12 19:40:49 +02:00
Benjamin Renard
a6f07faca0 LSauth: Add possibility to configure more than one LSobject type as user 2020-05-12 19:23:24 +02:00
0d916d3d0d Update doc about LSlog new features 2020-05-08 16:47:27 +02:00
Benjamin Renard
2183149097 Update doc 2020-05-06 12:31:24 +02:00
Benjamin Renard
aba1d18b95 Improve doc about public_root_url parameter 2020-05-02 18:46:15 +02:00
Benjamin Renard
8c2e5e604b Introduce LSurl, a new URL routing manager for LdapSaisie 2020-05-02 17:48:34 +02:00