when I add a custom attribute to a user, I can access this programmatically in my client application using custom mappers. But when a user logs into its account settings (URL /auth/realms//account/), he or she does not see or update this attribute. Only the required ones first and last name and email are visible.
How can I make a custom attribute visible and updateable on the account page?
You have to create custom theme and override account.ftl template to add custom attributes.
Read through Theme Creation, it's really easy to create custom theme.
Related
There is a setting for forcing story points to be entered when creating a work item (e.g. user story) in the layout processes field options, but is there one for mandating linking of work item/story to a parent?
There isn't a straight forward way to do that.
A good option is to create a custom field in User Story work item in your inherited process.
And set the work item rule to make required the value of this field when creating User Stroy.
Check the UI output by using the rule. This could be a reminder to link the parent work item.
Update 1:
You still need to manually add link as Related Work.
The required value for the custom field works as a reminder for the users when creating the User Story.
You could also define the custom field as Picklist(string). When a user creates a new User Story, he could add Related Work links and pick a value for the custom field in order to save this User Story.
Output:
I need to change and customize the login page, implementing the
"IviewService"
isn't not good enough, i need the full layout.
any idea ?
Implementing a custom IViewService is exactly how you change the full layout.
However, if you want to change only the login page, you can do so by adding your own html that implements the same angular logic as the existing login page and adding it to a folder named templates with a file name of _login.html.
If you want to modify the layout (the headers) then you need to do the same this time naming the file _Layout.html.
This is all detailed in the documentation, with the above listed as "Replacing partial views".
For my Trac plugin, I would like to add a color (as string or rgb values) to each user for use from somewhere else in the plugin. The color should be configurable via the admin page.
Is it possible to add another column to the table in the Users settings of the AccountManagerPlugin panel, and if it is, how do I add the information to the database so I can access it from elsewhere?
Another option would be to make a new Admin Panel for my plugin, which is what I am currently doing, with a table with just the user names and their colors. But in this case, although I already have the empty admin panel, I don't know how to add the table and add new items to the database.
To explain what I need the colors for:
My plugin adds a new export option for tickets, and formats them with my own html and css structure. The tickets contain the owner's name, and this name should be displayed with their respective colors. The code for this already exists, now I just need to retrieve the colors from the database, and beforehand save them to the database via the admin panel.
The colors should be changable only via the admin page.
There's no Users admin panel in Trac, however the AccountManagerPlugin has a User management panel. Let me know if you are using the AccountManagerPlugin and I'll provide more info on that.
Keeping the discussion within the scope of Trac, you could implement the ability for the user to make a selection through a preference panel by implementing IPreferencePanelProvider. You could save the value in the session_attribute table and make use of it anywhere else. For an attribute named user_color, the value can be retrieved using req.session.get('user_color').
Examples can be found in trac.prefs.web_ui. I've linked to the code in Trac 1.1.6 because the module was refactored so that the preferences were more modular #9162.
I need to add a button for each user in admin's user list (admin/user.php).
is it possible to do it from my local plugin? if yes how?
Or I need to edit the user modules manually?
The only way to do this without a core code modification, would be to use the theme (or possibly a local plugin) to inject some javascript into the page to add the button after the page has loaded.
The page itself is quite old, so it doesn't use a renderer, so overriding the generated HTML via the theme is not an option. The user actions aren't designed to be pluginable either.
Depending on what you are wanting to do, you could, of course, create a local plugin that adds a new link to the 'Site administration' tree. On the page this links to, you could add your own list of users, with whatever buttons you wanted on them.
TCA offers the possibility for conditional displaying fields using displayCond. for an instance HIDE_FOR_NON_ADMINS allows to display field only for admin, but is there a way to display given field only for its creator, determined by cruser_id field?
Not out of the box. You can hook into TCEMAIN (DataHandler) or TCEFORM (FormEngine) to archive this.
You can however use access rights and set the rights to show the page (storage folder) only the the given backend user. Check out the access module.