1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-09 11:46:49 +00:00
Commit graph

32 commits

Author SHA1 Message Date
catborise
99dabbdcec fix(accounts): migrate no longer overrides the change-password permission
SHOW_PROFILE_EDIT_PASSWORD was replaced in 2020 by the change_password
permission, settable per user or group. A post_migrate hook applied the
old setting to all users so existing installs kept their behavior, and
asked to remove the setting afterwards; but the settings template still
set it to True. Every migrate, so every upgrade, therefore granted the
permission to all users again and undid an admin's per-user or
per-group choice (with False it would have revoked it from everyone).

- Migration accounts.0008 applies the setting one last time, if a
  settings.py still has it; the post_migrate hook is gone.
- New users get the permission when they are created (any path,
  including LDAP); the admin user form ticks it and saves the admin's
  choice afterwards.
- The template no longer sets SHOW_PROFILE_EDIT_PASSWORD; a check
  (accounts.W001) asks to remove it from existing settings, and the
  README upgrade notes say so.

The test that removes the permission and runs migrate fails on the
previous code. An upgrade from master with users was simulated: the
setting is applied once, and a permission removed afterwards stays
removed through the next migrate.
2026-10-04 20:26:53 +03:00
catborise
6dabd69445 fix(accounts): first-login password change is stored, not in the session
The forced change of the generated admin password was a session flag
set at login when the password still matched data/admin_password. A
new session after the file was gone bypassed it.

- UserAttributes.must_change_password (migration 0007) holds it; the
  admin created with a generated password gets it, and a password
  change clears it. ForcePasswordChangeMiddleware reads it.
- A system check (accounts.E001) stops the server unless the middleware
  follows AuthenticationMiddleware; the README has the settings change.
- If the generated password cannot be stored privately, provisioning
  stops without printing it and without creating the admin (one
  transaction for the user and its attributes).
- The admin is provisioned on any real migrate run while no user
  exists, so running migrate again after a failure creates it; flush
  (plan=None) and rollbacks of accounts are skipped.
- The post_migrate receivers check the migration state for the models
  they use, so a targeted migrate on a fresh database (e.g. migrate
  appsettings) no longer fails with 'no such table'.
2026-10-04 01:08:11 +03:00
catborise
b3e6fb2b7a feat(security): enforce require_POST on power actions, prevent open redirects, and isolate instance permissions 2026-09-27 13:20:45 +03:00
catborise
508e3609be lint with black python. convert f style strings to old one. some small fixes 2020-11-05 12:34:31 +03:00
Real-Gecko
636b5bb1bc Reworked some account views 2020-06-16 18:35:08 +06:00
Real-Gecko
cfd739778c Added missing migrations 2020-06-15 12:38:44 +06:00
catborise
7538ddab4f Add all settings to appsettings page & Convert settings choices 2020-06-04 12:32:00 +03:00
Real-Gecko
85929b5327 Fixe migrations for new deployments 2020-05-28 18:19:25 +06:00
Real-Gecko
3d0493537f Added 'instances:clone_instances' permission
Replaces 'can_clone_instances' user attribute
2020-05-28 11:20:23 +06:00
Real-Gecko
a62daad87b Added change password permission
Replaces SHOW_PROFILE_EDIT_PASSWORD option
Can be set on per user or per group basis
2020-05-27 18:46:37 +06:00
Real-Gecko
618d88f1c4 Fix default admin user
- Fix error: RelatedObjectDoesNotExist: User has no userattributes.
  "instances/views.py", line 162, in check_user_quota
2020-05-25 16:39:34 +06:00
catborise
f37d6601e1 create admin user while migrating 2020-04-17 14:03:42 +03:00
catborise
4d40de1b55 Python3 & Django 2.2 Migration - Fix & Updates 2020-03-16 16:59:45 +03:00
catborise
aa32d826d9 django on_delete statement is must after than 2018-08-08 14:50:58 +03:00
catborise
ace30ca952 Libxml2 converted to lxml, django framework upgrade to 1.11.x and some bug fixes 2018-06-27 10:20:51 +03:00
Ing. Jan KRCMAR
96674221b4 add migration userattributes.can_clone_instances dafaults to True 2017-10-26 10:10:52 +02:00
Ing. Jan KRCMAR
a3a572a8a8 Fixed: Conflicting migrations detected (0004_userinstance_is_vnc, 0007_auto_20160426_0635 in accounts) 2016-09-12 11:02:01 +02:00
Daniel Rieper
29b722ff41 Merge branch 'master' of https://github.com/honza801/webvirtcloud
Conflicts:
	instances/templates/instance.html
	instances/views.py
2016-07-29 13:05:54 +02:00
Valentin Samir
7efbfec17f Add an option to allow an user to change VNC settings 2016-05-09 12:09:21 +02:00
Jan Krcmar
25529835b5 set default UserAttributes to instances=1, vcpus=1, memory=2048, disk=20 2016-04-26 08:36:14 +02:00
Jan Krcmar
f8e681dbf4 added user disk quota limit
added quota warning in instance page
2016-03-31 13:12:52 +02:00
Jan Krcmar
317c2a85ae user can now clone instances, admin can specify user quotas (instances,cpus,memory)
user can only select predefined instance names, mac and disk names are selected automatically
2016-03-23 09:00:42 +01:00
Retspen
2d1f72a7e1 Added models and telmplate for sshkeys 2015-05-27 14:10:57 +03:00
Retspen
981eb65fac Fixed default account 2015-05-07 17:00:11 +03:00
Retspen
2aa5558df7 Fixed pep8 2015-04-06 10:51:50 +03:00
Retspen
9484b11c41 DB changes 2015-04-02 14:24:28 +03:00
Retspen
56f840c893 Fixed pep8 2015-03-27 17:12:15 +02:00
Retspen
1f68e8c5ed Added migration 2015-03-25 11:36:37 +02:00
Retspen
02ae7336ea Refactor users page 2015-03-18 17:13:44 +02:00
Retspen
29b05745ad Added users page 2015-03-02 10:52:07 +02:00
Retspen
cbba654538 Add fixtures 2015-02-27 15:56:10 +02:00
Retspen
4d48e79341 Initial commit 2015-02-27 10:53:51 +02:00