62 Commits

Author SHA1 Message Date
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
201837518f Update strings during edit/delete operations 2015-12-09 23:55:55 +05:30
Sunil Mohan Adapa
a69f419c3c Make Django urlpatterns list of url()s
- Support for legacy pattern() mechanism will be removed in Django
  1.10.  Currently we see a warning for each Plinth module.
2015-12-05 09:33:23 -05:00
Sunil Mohan Adapa
0b4f56c59d Fix bug in i18n of change password link 2015-11-14 12:05:27 +05:30
Sunil Mohan Adapa
01d50c7ae8 Fix i18n of template expressions 2015-11-14 11:42: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
02cd89b60d Internationalize strings in template files 2015-11-13 22:02:17 +05:30
Sunil Mohan Adapa
4210332bf6 users: Improve diagnostics
- Move diagnostics into main module instead of action script.

- Ability run diagnostics as non-root user (because it runs in Plinth
  instead of action).

- Diagnose whether LDAP server is listening.

- Diagnose directory entities created during setup.
2015-08-29 06:22:01 -04:00
Sunil Mohan Adapa
2ca130b154 users: Implement diagnostics 2015-07-28 21:58:17 +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
44ec564fd7 users: Fix incorrect replacement of _()
Apologies for the regression.
2015-07-26 13:34:23 -04:00
James Valleroy
d144f6634a Bug fixes:
Check if ejabberd is installed when running actions triggered by signals.
Encode LDAP passwords as bytes.
2015-07-23 22:30:50 +05:30
James Valleroy
cb7c9c26f7 Send LDAP user passwords to actions through stdin, not as arguments. 2015-07-23 22:30:50 +05:30
James Valleroy
86580c9121 Revert "Don't print LDAP user passwords in log."
This reverts commit b1c9c81d58c80d6b313dd2b8a5c5727ecdf6ac49.

Conflicts:
	plinth/modules/first_boot/forms.py
2015-07-23 22:30:50 +05:30
Sunil Mohan Adapa
2b86ce9fdb users: Remove unused code checking for LDAP user 2015-07-18 17:23:04 +05:30
Sunil Mohan Adapa
f35d4257c2 users: Improve Django group handling with LDAP
- Create groups on first boot a bit more safely

- Use get_or_create instead of get() and create()

- Fix issue with not showing a full list of groups in user modify page
  when there is are no users for that group.
2015-07-18 17:17:07 +05:30
Sunil Mohan Adapa
b0d65b4ead users: Use checkboxes for groups during create 2015-07-14 21:23:02 +05:30
James Valleroy
925fbe6cd2 Fix group management issues. 2015-07-13 19:50:59 +05:30
James Valleroy
6ca38ba665 Switch LDAP groups from groupOfUniqueNames to groupOfNames, to work with libpam-ldapd. 2015-07-13 19:50:59 +05:30
James Valleroy
b1c9c81d58 Don't print LDAP user passwords in log. 2015-07-13 19:50:58 +05:30
James Valleroy
0eb3d35b5b Add group management to user editing form. 2015-07-13 19:50:58 +05:30
James Valleroy
197c95a7bf Add actions for LDAP group management. 2015-07-13 19:50:58 +05:30
James Valleroy
2adf14b8b7 Remove POSIX users. 2015-07-13 19:50:58 +05:30
fonfon
824a9091c1 use django-stronghold for authentication handling (instead of @login_required) 2015-07-01 00:01:02 +05:30
Bob Girard
d64ce6cc01 Bundle tests with applications
- For each application, add ./tests directory and __init__.py file
  within it.

- Modify test controllers (coverage.py, runtests.py) to find the new
  test directories for testing and coverage analysis.

- Move existing application-specific test modules (test_pagekite.py) to
  the newly created directories.
2015-06-26 12:05:48 +05:30
Sunil Mohan Adapa
82090af423 ldap: Minor styling fixes 2015-06-25 23:40:24 +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
9f371d9a13 users: Rename 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
James Valleroy
910ff97c62 users: Add option to create LDAP user. 2015-06-12 15:49:41 +05:30
Sunil Mohan Adapa
c2b806cf0d users: Rename a POSIX user when Plinth user is renamed 2015-01-25 01:45:51 +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
46dd2225f7 Delete posix user when deleting plinth user. 2015-01-20 12:36:02 +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
61fefcff01 Minor styling and doc updates related to module cleanup 2014-12-14 17:27:11 +05:30
Sunil Mohan Adapa
90203986f2 Remove modules 'expert_mode' and 'lib'.
The login/logout URLs are now in the 'users' module.
2014-12-14 17:26:05 +05:30
Sunil Mohan Adapa
3abc5e9212 Require logged-in user for user administration 2014-12-14 17:24:23 +05:30
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
a625d67152 Show active status in user list, increase delete button size
- Separate out styling details
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
6612fffdb5 Update user module URLS
- It is more restish to have /user/1/delete rather than /user/delete/1.
- End all URLs with a slash.
2014-12-14 00:19:45 +05:30