History | View | Annotate | Download (74 kB)
astakos: Lift old-style services to components
Add model Component and migrate services along with their tokenand UI URL to this new model. Rename service to component whereneeded.
Add field service_type in Resource and fill it based on the nameof the service that used to own the resource.
astakos: Add new-style services with endpoints
Drop old Service model and add models Service, Endpoint, and EndpointData.Remove Resource's reference to Service.
Merge branch 'develop' into feature-projects-ux
Conflicts: snf-astakos-app/astakos/im/templates/im/projects/intro.html snf-astakos-app/astakos/im/templatetags/astakos_tags.py snf-astakos-app/astakos/im/urls.py snf-astakos-app/astakos/im/views.py
astakos: Update user-add command
removed activate option. User status can be changed using additionaluser-modify commands (--verify, --accept etc.)
astakos: provide get_endpoints api call
astakos: Strengthen authentication in user_from_token
All user-related API calls make use of this decorator to authenticatethe user. Previously it used to check only for the existence of the token;now it makes all checks previously found in the `authenticate' API call....
astakos: unified settings handling
Import astakos settings module instead of importing specific settings
astakos: Add AstakosUser status_display property
the property provides a status outline of the current user status.
astakos: remove unused imports
astakos: reorganize views
astakos: Remove code handling UserSetting
Keep UserSetting model; to be removed in a future version.
astakos: Remove some unused imports
Also add a missing import in quotas.py
astakos: Lock chain for projects, user for syncing
Lock project's chain for every operation affecting either a project oran application. Subsequently, lock user when needing to sync or to issuecommission to update pending_app quota.
In views, replace locking qh_add_pending_app with check_pending_app_quota,...
astakos: replace CookieAuthenticationMiddleware with a view decorator
reverse commits ab30f5f163a13dfc7f9bec4d263208dd35f09d16 &1439d6383113b151b6a3316e320a0418fa30d421
decorate also ``django.contrib.auth.views`` utilized byastakos
astakos: User activation flow improvements
Major refactoring on user email verification/activation process---------------------------------------------------------------Activation logic moved from dispersed code in functions/view modules toActivationBackend methods. All user activation handling code in astakos views...
astakos: Remove deprecated AstakosUser fields
astakos: Remove membership policy settings
Available join and leave policies are internally defined and shouldnot be changed by settings. Move policy descriptions to presentation.py.
Do not convert to string the lookup key in templatetags/filters.py
astakos: Remove command user-set-initial-quota
To change base quota for a specified user: snf-manage user-modify user --set-base-quota resource limit
To import base quota in batch from a file: snf-manage astakos-quota --import-base-quota filename
Rename `initial' to `base quota' in command output....
astakos: Use DateTimeField for enhanced precision
Refs #3717
Replace instances of DateField in ProjectMembership andProjectMembershipHistory.
astakos: remove astakos.im.api module
Replace all AstakosCallpoint references
astakos: Remove deprecated Project methods
add_member, remove_member were not used.
astakos: Exclude non existing services form Service.catalog
Always return services that exist in database. If a known service existsuse the predefined presentation data as base dict upon which we build upthe returned info by merging the data stored in service model and the...
astakos: Add reason for all actions on applications
For cancel and dismiss, it is for now just a placeholder.
astakos: Cleanup some project methods
astakos: Cleanup input of submit_application
Form passes only a tuple (name, limit) for each selected resource,omitting presentational data.
astakos: Resources metadata improvements
- Allow admin to overwrite default resources presentation data using ASTAKOS_RESROUCES_META setting. dict_merge is used to accomodate admin from declaring all available metadata parameters.- Enforce allow_in_projects resource policy in project application...
astakos: Control exposing resources in projects
Add attribute `allow_in_projects' in Resource model (True by default).Set this flag for astakos.pending_app to False in the descriptionof astakos resources.
Astakos: Checkboxes for members actions (project members page)
astakos: Initial tests for project views
astakos: Reintroduce foreign key from Resource to Service
Also merge all migrations from 0026 to 0032.
Service catalog fix
also include services for which no existing presentation data exist.Admin can use ASTAKOS_SERVICE_META setting to customize the servicepresentation metadata.
Store service access url in database
Move intdecimalfield.py to snf_django package
Rename it to fields.py and update all migrations that reference the field.
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