Commit graph

39 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
f07e10c40e Update french translation 2021-07-12 19:00:08 +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
febb83e39d Update french translation according to recent changes on LSaddon::supann 2021-06-10 18:06:19 +02:00
Benjamin Renard
2a1d079717 LSformElement::supannLabeledValue: fix unparsable value display 2021-06-03 17:17:09 +02:00
Benjamin Renard
639f46d8a4 Add LSdefaut copyable feature and use it in showTechInfo 2021-04-14 15:46:36 +02:00
Benjamin Renard
78fedd79b2 LSaccessRightsMatrixView: handle inherited rights from user LSprofiles 2021-03-16 17:52:08 +01:00
Benjamin Renard
3703d0330e LSaccessRightsMatrixView: handle LSform layout to ordering attributes 2021-03-16 17:48:49 +01:00
Benjamin Renard
67774a6832 LSformElement :: mail: Move autocomplete feature in text parent class 2021-03-03 14:34:06 +01:00
Benjamin Renard
1e284f098a Regroup LSimport & LSexport classes in one common LSio class 2021-02-05 18:37:07 +01:00
Benjamin Renard
5f4798a5a1 Add export feature using existing LSioFormats 2021-02-05 12:18:26 +01:00
Benjamin Renard
7af066f4c2 LSimport: code cleaning and reload form options after submiting 2021-02-04 11:52: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
089693ea0e Fix/improve LSsession_13 errors (unconfigured/unknown custom action function) 2020-12-16 17:42:55 +01:00
Benjamin Renard
0f0bff5a77 LSldapObject::submitChange(): on new object, check if generated DN is not already affected 2020-12-14 19:42:19 +01:00
Benjamin Renard
3598e48c6e LSaddon::LSaccessRightsMatrixView: handle customActions & customSearchActions 2020-09-23 14:10:50 +02:00
Benjamin Renard
85b74feb86 LSaddon SUPANN: add supannCheckEntityCouldBeDeleted() function 2020-09-22 20:47:03 +02: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
41d816c025 LSformElement:📅 add clear btn 2020-09-11 13:38:07 +02:00
Benjamin Renard
b3210c0108 Update french translation 2020-09-09 19:05:01 +02:00
Benjamin Renard
a4183a88fc Improve Samba support using LSaddon::samba 2020-09-09 19:00:55 +02:00
Benjamin Renard
15941ac678 Add LSattr LDAP & HTML sambaAcctFlags type 2020-09-09 18:45:34 +02:00
Benjamin Renard
9db67eb2ba LSsession: improve error messages 2020-09-03 18:31:53 +02:00
Benjamin Renard
669d679464 LSformElement :: boolean: fix translation of default labels 2020-08-04 10:30:49 +02:00
Benjamin Renard
5b6bb28b4d LSformElement :: password: fix/improve send new password feature 2020-07-07 16:04:32 +02:00
Benjamin Renard
12e4b45cf6 Update french translation 2020-06-30 10:01:06 +02:00
Benjamin Renard
f0f2ce48ad LSurl: fix translation of all fatal error messages 2020-06-25 16:03:49 +02:00
Benjamin Renard
38ed2ca08c LSformElement::password: Add confirmChange parameter 2020-06-11 20:14:16 +02:00
Benjamin Renard
c6dcc95b51 LSview/LSform: fix loading view dependencies 2020-06-04 17:12:28 +02:00
Benjamin Renard
47d5ce021d Move some hard-coded messages to template files 2020-05-28 20:24:37 +02:00
Benjamin Renard
f07d15e2eb Update french translation 2020-05-28 19:48:27 +02:00
Benjamin Renard
bde0f1f234 Update french translation 2020-05-19 18:26:41 +02:00
Benjamin Renard
23bb4aac0e Update french translation 2020-05-12 19:24:53 +02:00
Benjamin Renard
3fbe53d4c6 Replace generate_ldapsaisie.pot.sh script by a LScli command 2020-05-06 19:58:57 +02:00
Benjamin Renard
dfc3f8e8a8 LSlang :: generate_lang_file : fix detection of all messages 2020-05-06 18:35:39 +02:00
Benjamin Renard
68a2105900 Replace generate_lang_file.php by LScli command generate_lang_file 2020-05-06 17:48:49 +02:00
Benjamin Renard
7098b3ee79 Massive change of files organisation to move all files outside web-root
The web-root directory now contains URL rewrite stuff. All PHP & static files are
in root src directory and are served via LSurl routes.
2020-05-06 12:17:35 +02:00