History | View | Annotate | Download (31.4 kB)
astakos: Control project members by membership id
astakos: Add reason for all actions on applications
For cancel and dismiss, it is for now just a placeholder.
astakos: Make submit_application arguments explicit
astakos: Cleanup input of submit_application
Form passes only a tuple (name, limit) for each selected resource,omitting presentational data.
astakos: Handle pair of exceptions properly
astakos: Reconcile resources
Sync number of pending applications to quotaholder.
astakos: accept commission immediately after issue
Unify these operations when registering a pending application,in order to make sure no commission can be left pending.
Revert quotaholder's name to quotaholder_app
In order to facilitate migrations.
astakos: Replace some explicit settings imports
importing setting names explicitly makes it hard to write tests thatdepend on specific setting values and polutes the module namespace.
In this commit only settings that are currently used in tests whererefactored.
Handle max pending applications as a quotable resource
Assume a resource `astakos.pending_app' related to service `astakos'.On submitting an application, issue a commission that will update therelated counter if possible, and accept the commission on success....
astakos: Standardize arguments of project calls
All calls take a request_user (of type AstakosUser) argument.
pep8 and style changes
astakos: Enroll in project even if request is pending
astakos: Move quota syncing code in quotas.py
Import resources from definition and config files
Register a service's resources giving option --json <file>.The json file is expected to represent a dictionary with keys"service" and "resources".
Currently the default base quota (uplimit) for each resource is read...
Cleanup obsolete quota code
Force query to list before passing as argument
An unevaluated query ends up being used as an argument of intended listtype to another query, which fails in the case of an EmptyQuerySet, whichis not iterable.
Move quota-related code out of models.py
Intention is to collect all quota-related code to a single file.
Sync to quotaholder by recomputing user quotas
On a user joining/leaving a project or on a project definition change,we used to compute quota diffs for affected users and add them upto existing values in quotaholder.
We now switch to recomputing all quotas for affected users and resetting...
wip Update astakos.im to use local quotaholder
Import directly quotaholder.callpoint in endpoint/qh.pyinstead of an HTTP client.Remove code related to entities, such as registering users and services.Remove sync_projects logic.
wip Remove check whether membership is pending sync
It is not needed any more, syncing to quotaholder will happenin a single transaction along with the call initiating the change.
wip New, simplified syncing to quotaholder
Merge branch 'tmp-common-email-recipients' into develop
Astakos email notification improvements
- Use project setting SERVER_EMAIL as sender to all email notifications.- Remove astakos specific DEFAULT_CONTAC_EMAIL in favor of snf-common's CONTACT_EMAIL setting.- Remove DEFAULT_CONTACT_EMAIL and ADMINS astakos specific settings in favor of...
Impose pending application limit on owner
We used to check the limit on applicant; however we would like toto control pending applications per the original applicant, i.e theowner. The check is ignored when the applicant is a project admin.
Log project actions
Merge branch 'release-0.13' into feature-astakos-authpolicies
Specify reason when denying project application
Add field `response' in ProjectApplication model.Add option `-m' in project-control command.
Refs #3493
Astakos logging improvements
use the common user_log display method accross logging calls
Astakos logging fixes
Removed with_logging wrapper which inconsistently extracted user/requestarguments. Logging statements placed explicitly within login/logoutmethods.
Fix admin notification logging
Optimize computation of astakos user quotas
Add per-user limit on pending applications
Add UserSettings model for storing integer-valued settings.If an entry is missing, a default synnefo setting is consulted.
The limit can be set/unset with snf-manage user-update.
Bug fixing
Create membership without causing DB error on existence
Make ForUpdateManager thread-safe
The manager held a global flag `_for_update' on a single manager object,which could be read or set by multiple threads.
select_for_update() is now provided by a subclass of QuerySet.It must be used as the last modifier of a query set,...
Fix change email text
Update email change email content
- Include EmailChange instance in template context- Email body improvements
Automate the stress test for projects
Generalize instance checks for integers
Add LEAVE_REQUESTED state on ProjectMembership
Utility function get_project_by_name
Check user status when creating project membership
Notify for project enrollment
Add membership notifications
Ensure only verified users are added to a project
since users get registered at quotaholder during the activation process(qh_register_user_with_quotas call in `activate` method -- im/functions.py).
An additional safer check in `create_membership` method might be...
fix project admin permissions
Restrict argument of approve_application() to application id
Remove obsolete function get_project_id_of_application_id
View for cancelling a pending application
Changes in project_detail
Distinguish project/application view as well asowner/simple user mode
Use custom project_transaction_context in project views
Change feedback email sender and body
Option to cancel membership request
wip More progress with chains
wip Project views by chain_id
Checks for operations on applications
Fix membership checks
Checks for membership functions
Fix unicode urlencoding in feedback call
Better log printing
Advances in syncing quotaholder with astakos
Factor out trigger_sync() as lock_sync() to be used for othersync processes in addition to sync_projects().Implement sync_users(), which registers users and their quotas.Use both sync processes in astakos-qh-sync management command.
Management command to check and perform project expiration
Implement project suspension and resumption
Merge membership's SUSPENDED and TERMINATED states into PROJECT_DEACTIVATED.
Remove unused update_application()
Add states DISMISSED and CANCELLED in ProjectApplication and related callsFix defaults in DateTimeFields
Changes in registering to quotaholder
Add an 'uplimit' (default) field in Resource;change AstakosUserQuota fields to IntDecimalField;pass all four limits of initial quotas to the quotaholder;register services and resources explicitly upon creation;a wrapper for get_quota.
Implement application denial
Register a user to quotaholder only when is activated
New state handling for astakos projects and memberships
Distinguishes is_active, is_pending flags from actual states in ProjectMembership;likewise is_active, is_modified flags in Project.Splits syncing in pre-process, actual syncing, and post-process.
Refactor notifications
Remove bypass checks; refactor some checks
Check user credentials in submit_application
Missing var
wip Simplify submit/update application
Refactor submit application; always mark precursor as REPLACED
Fix typo
Fix policy checking
Perform membership checks during add member form validation
Fix a dict iteration
Fix join/leave policy checks
Membership policies kept in settings instead of db
Project deactivation/termination
Add member limit check in do_join_project
Fix some arg names
Simple refactor: do_* methods always take a project_id argument;select_for_update for project and membership
Delete more obsolete code
Project update and suspend functions
Fix leave project in case of auto_accept policy
Separate function for enroll member
Fix typos
Fix member join when join policy is auto_accept
Fix add_quota, use user id as quotaholder entity
Several fixes
Trigger syncing from the views
Fix notification error messages
Merge branch 'devel-0.13' of https://code.grnet.gr/git/astakos into latest-quota
Conflicts: snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/notifications.py snf-astakos-app/astakos/im/urls.py snf-astakos-app/astakos/im/views.py
Change email process improvements
- Allow replacement of previously email change requests- Cleanup expired email change requests in change email view- Log email change- Warn user for existing pending requests- Redirect to profile on change email actions (failed or succeded)
Avoid verbose logging output
Conflicts: snf-astakos-app/astakos/im/forms.py snf-astakos-app/astakos/im/management/commands/service-add.py snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/models.py...
Single model for ProjectApplication & Definition - Membership sync