History | View | Annotate | Download (74 kB)
Move managers.py to snf_django package
astakos: Remove obsolete ProjectResourceGrant fields
astakos: Remove obsolete fields of AstakosUserQuota
Remove quantity, import_limit, export_limit.Update user-set-initial-quota management command.
astakos: Remove obsolete project-related model fields
Several fields of models Project and ProjectMembership were relatedto the external syncing to quotaholder and have become obsolete sincethe inclusion of quotaholder in astakos.
Move resource data away from astakos settings
UI-related presentation data go to presentation.py.Remove load_service_resources call and related astakos-initmanagement command.
Make resource name independent of service name
Also remove unused ResourceMetadata model.
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...
Remove resource/service model dependencies
- Remove foreign key dependency between Service/Resource model. Replace it with a service CharField to keep track of the service identifier that the resource was registered from.- Remove all references to resource service name in resource lookups
Use updated resource models in projects views
Services api/presentation logic cleanup
- Remove presentation information from Service model (order, icon)- To access the list of services filled with both presentation and api data use Service.catalog(). The method fills a dict with service identifiers and service metadata through the following steps...
Astakos missing Service model migrations
Cleanup obsolete quota code
API call for resources
Do not register resources in quotaholder
Adjust astakos to new holding design
Simplifications due to removal of quantity and merging capacity into holding.Also make sure that holders and resources are represented as strings inquotaholder calls.
Compute and show quotas by source
Adjust astakos code to the new nested dict structure of quotas.
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...
Remove unused code
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 Remove check is_active on projects and memberships
Remove second phase of (de)activation, not needed any more,since syncing to quotaholder will happen in the same transactionas the call initiating the syncing.
wip Update astakos.im to simplified quotaholder policy
wip New, simplified syncing to quotaholder
Remove PROJECT_DEACTIVATED state from ProjectMembership
Merge branch 'tmp-common-email-recipients' into develop
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
Move managers.py in synnefo.lib.db
This makes it easier to maintain, since it is used in multiple applications(astakos.im and quotaholder_app).
Change output of astakos-quota --sync
Inform specifically which users, if any, have been synced, instead oflisting the whole diff. The latter can be recovered by giving theoption --verify.
Sync only quotas that differ
Refs #3479
Database stack limit issue was triggered by syncing quotas forall users. It is much faster to compare quotas locally and sendfor sync to quotaholder only those that differ.
Authentication providers improvements
Major authentication provider refactoring to support
- Modular and easily configurable messages with common context- Fine grained provider policies to support appling specific policies to users and/or groups
Key points:...
Astakos logging improvements
use the common user_log display method accross logging calls
Auth providers improvements
- Improved logging- Messages changes- Fixes in local module login/add policies handling
Astakos logging fixes
Removed with_logging wrapper which inconsistently extracted user/requestarguments. Logging statements placed explicitly within login/logoutmethods.
Fix admin notification logging
Add 'default' capacity to user-set-initial-quota
Fix calculation of initial quotas
Also add all_quotas method in AstakosUser
Refs #3388
Merge branch 'tmp-quota-opt2' into release-0.13
Improve performance of quota operations
Set initial user quota from the command line
Refs #3373
Add option --set-capacity in user-set-initial-quota that setsinitial quota for a specified user/resource pair.
Importing from a file requires option --from-file.
Optimize computation of astakos user quotas
Speed up project-list
Verbal updates wrt help texts of astakos forms
Fix some messages
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.
Change astakos init
Do not override service url if it is not set.
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,...
Unify and rename project management commands
Encode unicode strings in str
Generalize instance checks for integers
Style fixes
New style for resource usage pageTemporary help_text for profile formCss fixes
Notify user for pending registrations
astakos allows users to replace pending created accounts (user thathave not yet passed the activation process) by re-submiting the signupform. A message is now displayed in such cases to remind the user of thepending account.
Helper AstakosUser method
to retrieve the first auth provider assigned to user. Can be used inactivation email template to inform the user about the provider used tocreate the account.
Make sync_projects more robust
Retry qh_add_quota on failure excluding faulty memberships.Call given error view on exception.
Add LEAVE_REQUESTED state on ProjectMembership
Check user status when creating project membership
make astakos-load-service-resources idempotent
astakos-load-service-resources would only load resources correctly once,during migration. Now it can be used at will to re-initialize serviceresources from astakos configuration.
astakos-load-service-resources to honor service display order
approve, deny, dismiss views
At the project application detail, project administrators(ASTAKOS_PROJECT_ADMINS setting) may approve or deny it.A denied application is still viewable by the applicant,until he dismisses it from the same page.
The project administrators' project list includes all projects.
fix project admin permissions
View and dismiss denied applications of an active project
Fix dummy field description
Fix superusers (created by syncdb) command
Case insensitive displayname search
Change display of Chain.PENDING
Move Chain code block before ProjectApplicationManager
Introduce chain state and related methods
Make Chain a proper db table
Keep chain IDs in table Chain and add foreign keys from ProjectApplicationand Project to Chain.
This will allow us to reference a possibly not yet approved projectin a more concise way.
Fix presentation in project template
Check if a user other than the owner can view a project
Remove duplicate function
Remove obsolete user_status and its clients
View for cancelling a pending application
Preserve auth provider order across views
Changes in project_detail
Distinguish project/application view as well asowner/simple user mode
Update Astakos help text message
Change the message on the form in which the userchanges his/her password.
Skip project homepage response validation
Set Project.name None when terminated so that it can be reused
Auth providers fixes
- Respect CAN_REMOVE provider setting- Verbal differences in create password form (based on if user requests to add local password method or just tries to change the password)
Enrich local login method profile display
- Include username/email
Use admin version of state display
Changes in state display, plus some queries
Use locking function as a decorator
Several auth providers fixes/improvements
- Allow third party signup if existing account with the same third party identifier is not yet verified. Subsequent registrations will replace previous ones (pending/unverified accounts will be removed).- Merge common third party code in target/__init__.py...
Change feedback & user_catalogs astakos && pithos api calls
Option to cancel membership request
wip More progress with chains
wip Progress with chains
wip Project views by chain_id
Checks for operations on applications
Fix membership checks
Output log for project-sync
Check sync status only for active users
In sync_users log quotas computed by astakos
Provide project details command
Collect reporting info for sync_projects()
Split management command into astakos-quota-verify and project-sync
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.
Merge remote-tracking branch 'synnefo/feature-projects' into feature-astakos-newstyles
Improvements in auth_methods js in profile page