Bug 49266 - [4.3] create configuration hook that modifies the configuration depending on the imported user role
[4.3] create configuration hook that modifies the configuration depending on ...
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Import scripts
UCS@school 4.3
Other Linux
: P5 normal (vote)
: UCS@school 4.3 v8-errata
Assigned To: Daniel Tröder
Jürn Brodersen
:
Depends on: 49264
Blocks: 49267
  Show dependency treegraph
 
Reported: 2019-04-09 13:14 CEST by Daniel Tröder
Modified: 2023-03-25 06:55 CET (History)
1 user (show)

See Also:
What kind of report is it?: Feature Request
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Tröder univentionstaff 2019-04-09 13:14:11 CEST
When importing through the HTTP-API, it is not possible to choose from different configurations (like with the "-c" switch on the command line).

Create a configuration hook to manipulate the configuration depending on the imported user roles.
Comment 1 Daniel Tröder univentionstaff 2019-04-09 16:11:08 CEST
A hook was implemented that manipulates the configuration depending on the imported user role.

The hooks changes the configuration depending on the user role
being imported. Works only with a fixed user role. Includes an additional
configuration file, which must be configured in the main configuration file.

Example::
	{
		"include": {
			"by_role": {
				"student": "/var/lib/ucs-school-import/configs/students.json",
				"teacher": "/var/lib/ucs-school-import/configs/teachers.json"
			}
		}
	}

If the `user_role` configuration value is `student`, the content of
`/var/lib/ucs-school-import/configs/students.json` will be read and applied on
top of the current configuration.

If the `user_role` configuration value is `staff` or `teacher_and_staff`,
nothing will be done.


The hook is included in the ucs-school-import distribution in the directory /usr/share/ucs-school-import/pyhooks-available/.


[4.3] 877695cc5 Bug #49266: configuration hook to modify configuration depending on user role
[4.3] 0186c7c1a Bug #49264, Bug #49266: test configuration hook
[4.3] 2680b2fd9 Bug #49264, Bug #49266: changelog
[4.3] 62b233ee7 Bug #49264, Bug #49266, Bug #49268: advisory updates

ucs-school-import (16.0.3-9)
Comment 2 Jürn Brodersen univentionstaff 2019-04-10 14:50:28 CEST
What I tested (using the http api):
Added a hook and imported -> OK
Added additional a config hook and imported -> OK (different configs are used)
246_import_user_config_pyhook -> OK

YAML -> OK