34 Commits

Author SHA1 Message Date
Rahul De
ad0b235dd7
users: Restrict groups and active user control to admins
- Only admins can now edit the groups of any user

- Only admins can mark any user as active or not

- Refactored all occurrences of admin checks to its own utility function
2017-02-15 21:07:54 +05:30
Sunil Mohan Adapa
dd5ab7612e
Minor refactoring and lint fixes
- Rename AdminMiddleware to AdminRequiredMiddleware to be consistent
  with stronghold/Django terminology

- Simplify .gitignore pattern

- Format single line docstrings as per PEP8.

- Add missing docstrings.

- Restrict lines to 79 characters.
2017-02-15 21:07:27 +05:30
lispyclouds
40ceb9a152
Deny access to non-admin users to other's pages
- This checks that the user making the request is the same user as the
  one logged in and prevents access to the pages of other users if its
  not admin
2017-02-15 21:05:40 +05:30
James Valleroy
0fdc0ffe52
users: Fix marking first boot step as done 2016-12-04 15:24:51 -05:00
Sunil Mohan Adapa
f457a0bdd3
first_boot: Fix various issues and refactor
- Fix major regression so that steps can submitted multiple times in
  case of errors.

- Don't serve the welcome page (and other pages) only once.  Show it
  until action is an taken.  This does not apply to the final step.

- Eliminate all coupling of one first boot step on another.

- Move first boot helper methods to __init__.py instead of middleware as
  it is more generic than middleware.

- Implement caching the first boot state to avoid an SQL query on every
  page load.  The down side is that if first boot state is modified in
  the backend DB outside Plinth, Plinth will need to be restarted to
  catch the modified value.

- Mark some methods as private.

- Refactor middleware code for slightly more simplicity.

- Don't show sidebar in pagekite first boot step.  Set width like other
  pages.
2016-12-04 15:24:48 -05:00
Sunil Mohan Adapa
56686b7148
firstboot: Rename views/urls to be non-numeric 2016-12-04 15:24:36 -05:00
Sunil Mohan Adapa
c37aa0fbd5
firstboot: Indentation & styling fixes
pycodestyle version used is 2.1.0 with default arguments.
2016-12-04 15:24:31 -05:00
Hemanth Kumar Veeranki
6011a7adfa
Made Suggested Changes 2016-11-03 22:06:08 -04:00
Hemanth Kumar Veeranki
0290f68ae6
Removed redirection for login and help urls
Changed the redirection in state0 template
2016-11-03 22:06:05 -04:00
Hemanth Kumar Veeranki
0332d4489e
Added code for modules to register for first_boot #529 2016-11-03 22:06:00 -04:00
Sunil Mohan Adapa
fff0a6c562
users: Fix editing users without SSH keys
When SSH keys are not available for a user, the current user edit form
errors out.  Fix this by ignoring ssh key load errors.
2016-08-12 16:10:32 -04:00
Sunil Mohan Adapa
18996b5c56
Import urlresolvers from django.urls
In Django 1.10, django.core.urlresolvers is available from
django.urls. Use it.
2016-08-11 18:03:00 -04:00
Sunil Mohan Adapa
506bff5c7b
users: Multiple SSH keys and better home creation
- Allow setting multiple SSH keys one per line (which is already
  allowed, but advertise it better).

- Use mkhomedir_helper to create the user's home directory.  Avoid
  security and accuracy complexities of creating a home directory.

- Allow homes that don't exist in /home.
2016-01-30 15:30:52 +05:30
James Valleroy
ad7d6db968
users: Add field to set user's SSH key. 2016-01-30 15:30:32 +05:30
Sunil Mohan Adapa
3df1a88824 Switch to Django i18n for code strings
Django i18n layer is on top of gettext and provide may crucial features
such as per-request locales, lazy translations etc.
2015-11-13 22:08:43 +05:30
Sunil Mohan Adapa
d363d8db26 users: Use ldapscripts for user management
- Merge all ldap actions into one action.

- Setup ldapscripts using augeas.

- Use the default mechanisms used by ldapscripts.

- Remove adding admin users to 'sudo' group.  Mixing LDAP groups and
  local groups is not a good practice.  'admin' LDAP group will be added
  to sudoers in another patch to freedombox-setup.

- Make all users posixAccount and all groups posixGroup for simplicity.
  Shell access can be restricted in other ways.

- Work around ldapscripts not able to set password using SASL auth.

- Work around ldapscripts having issues with current locale.
2015-07-26 16:33:06 -04:00
Sunil Mohan Adapa
2b86ce9fdb users: Remove unused code checking for LDAP user 2015-07-18 17:23:04 +05:30
James Valleroy
2adf14b8b7 Remove POSIX users. 2015-07-13 19:50:58 +05:30
James Valleroy
27e19b4373 users: Change LDAP user password. 2015-06-12 15:49:41 +05:30
James Valleroy
f16ea84f1d users: Delete LDAP user. 2015-06-12 15:49:41 +05:30
James Valleroy
219c3f4b06 users: Show if user is also an LDAP user. 2015-06-12 15:49:41 +05:30
Sunil Mohan Adapa
a3de3ae277 users: Handle errors better during POSIX user operations
- If during an action, user does not exist ignore.

- If during an action, return a non-zero exist status.

- Catch an errors during actions as exceptions.

- Display a message that corresponding POSIX operation failed.
2015-01-25 01:45:51 +05:30
Sunil Mohan Adapa
d27cd02193 users: Add posix user messages to other user management forms
- Slightly modify the message in user update form
2015-01-25 01:45:43 +05:30
James Valleroy
2da8619248 Show if user is also a POSIX user in edit user form. 2015-01-20 12:37:16 +05:30
James Valleroy
45b5ce8de9 When enabling/disabling Django user, also enable/disable the corresponding POSIX user. 2015-01-20 12:37:04 +05:30
James Valleroy
eeced1c213 When updating a user's password, also update the POSIX user's password, when needed. 2015-01-20 12:36:50 +05:30
James Valleroy
f3ea867e07 Add option when adding a new user, to also create a POSIX user.
Conflicts:
	plinth/modules/users/views.py
2015-01-20 12:35:15 +05:30
fonfon
0cbdd5cf51 bugfix: changing user password didn't work
We manually have to call the form.save() method in form_valid().
Plus tiny cleanups like using SetPasswordForm instead of
AdminPasswordChangeForm.
Note: this allows any logged-in user to change all other user passwords.
2015-01-04 23:32:32 +01:00
fonfon
ae83566653 removed unused 'title' from subsubmenus 2014-12-15 15:54:40 +01:00
Sunil Mohan Adapa
d4b98b9e48 Sylting updates in user module for consistency 2014-12-14 00:32:22 +05:30
Sunil Mohan Adapa
c6a29a8915 Don't mark ContextMixin as abstract
- Django abstract bases seems to apply only for Models.

- Django itself does not use abtract marking for its own generic view
  mixins.
2014-12-14 00:32:22 +05:30
Sunil Mohan Adapa
82c2785272 Auto-generate model form for user updation
- Remove the custom UserForm
2014-12-14 00:32:14 +05:30
Sunil Mohan Adapa
20e03c700a Update UI strings in user module
- Fixed an i18n issue.
- Marked more messages for i18n.
2014-12-14 00:18:33 +05:30
fonfon
4b3b3c666a Refactored 'users' module
- allows editing users (currently the groups and username)
- allows any logged-in user to change the passwords of any other users
- improved url highlighting of subsubmenu
2014-12-09 20:49:13 +01:00