astakos: Add command project-modify
Add a management command that directly modifies an initialized project.
quotaholder: Do not check provision integrity
The API is responsible to provide valid data to the backend.
quotaholder: Merge similar provisions
Make sure that issue_commission handles a single provision per (holder,source, resource) tuple by merging similar provisions.
astakos: Sync project-based quota
Update quota code to take into account the differentiated sources.There is no more need to lock the user when updating quota; lockingthe project is now adequate.
Update quota listing in management commands; introduce option --quota in...
astakos: Improve printing in quota-verify
Also add option to delete project and user holdings that do not correspondto actual astakos entities.
astakos: Disable setting user base quota
Remove functionality from management commands `quota' and `user-modify'for setting base quota. They will now be handled through projects.
astakos: Adapt to new project/app scheme
astakos: Make ProjectResourceGrant fields non null
Field project_capacity now requires a value; field project_applicationwas mistakenly set nullable.
astakos: Introduce base projects
Every user is associated with a special-purpose `base' project. Itsmission is to manage the user's base quota.
astakos: Make base project when creating user
Make base project along with the user with the same uuid. Enable theproject upon user acceptance.
astakos: Mark project membership as initialized
Add flag `initialized' on ProjectMembership. It is set to true once a useris accepted. It is used to distinguish users that have registeredproject quota (but may have been removed since then).
quotaholder: Migrate holdings for pool projects
Recreate quota holdings for all initialized projects and memberships.
astakos: Fill grants' project_capacity
Each resource grant that a project provides is now also associated witha project-level limit. This is set by consulting the existing user-levellimit and the max members allowed. If the latter limit is not set, weconsider the project's current number of active members.
astakos: Add project default in resources
Add field `project_default' in resources. This will serve as a skeleton tofill project quota (both project-level and member-level limits) forresources not specified by the application.
The field is initialized by consulting the default base quota (field...
astakos: Make limit_on_members_number a bigint
We need bigint in order to represent infinite as 2**63-1.
astakos: Replace application None values
None will from now on denote a missing field of the application. Use emptystring for missing string and the conventional max int (2**63-1) for amissing limit.
astakos: Store all project info on the project model
A project entry will contain all information needed to operate a project.An application will store just the information provided by the applicant.
astakos: Identify projects with a uuid
Introduce field `uuid'; use it to refer to projects in the API and themanagement commands.
astakos: Typo fix
astakos: Reduce import clutter in functions.py
astakos: Refactor notification code
Introduce generic notify functions that consult a dict for a given action.
astakos: Remove unneeded argument
astakos: Introduce private projects
A private project can only be accessed by its owner and its members.No user can join the project; but the owner can enroll members.
common: Do not encode key paths as string
Handle explicitly key paths as lists of keys. This allows the keyto be any python object, as is the case in python dicts.
Provide utility unpack() to convert from a string representation toa list of keys. It assumes that a key is either a string or an integer...
astakos: Change contact form textarea size
astakos: Display auth provider identifier in user-show command
astakos oa2: Fix request authorisation code failures due to unicode issue
If the object to be urlencoded has its own urlencode() method,use this instead.
Refs: #4971
astakos: Prevent erroneus race conditions in simultaneous signups
Refs: #4966
cyclades: Improvements to Astakos stats
Improve the exposed stats from the Astakos API and the way they aredisplayed in 'stats-astakos' management command.
astakos: Handle pending third party provider validation issues
skip validation errors and reset invalid field values for received usermetadata.
astakos: Fix bug in Astakos stats view
'ASTAKOS_AUTH_URL' setting is not present in Astakos node.
Catch EOF in astakos/quota commands
Abort operation when raw_input raises an EOFError.
Fix stdout/stderr write in astakos/quota commands
Write actual command output and user prompts to stdout; error and progressmessages to stderr.
astakos oa2: Improve tests
astakos oa2: Restrict redirect URI length during client registration.
Apply the check in the oauth2-client-add snf-manage command.
Refs: #4804
astakos oa2: Set a redirect URI length limit.
This limit is configurable and is applied in the api level.
astakos: Filter for project-list table
astakos: Table manipulation using DataTables.js
Pagination, filtering and sorting of tables in projects-listand members-list view is done client-side using DataTables.js
astakos: Table manipulation style improvments
astakos: Fix members list table checkbox bug
astakos: Extend form.innerlabels cookie bug fix
astakos: Django 1.4.1 compatibility
astakos: Handle invalid provider ids
astakos: Update tests
astakos: Fix add members url in project details view
quotaholder: Delete holdings of non-accepted users
Delete all holdings with a holder that does not correspond to an accepteduser uuid. This is expected to affect only holdings with zero usage, becausean astakos migration has previously accepted users with non-zero usage for...
astakos: Disallow deletion of accepted users
astakos: Accept users with non-zero quota usage
Due to a non-handled case during the introduction of the user moderationframework, there can exist non-accepted users with non-zero quota usage.This can have happened if a user was set inactive before that migration....
astakos: List quota for accepted users only
Don't attempt to show quota for non-accepted users, since they don't haveany.
quotaholder: Revert holding deletion
Revert deletion of holdings for non accepted users, introduced in cfc934f.
astakos: Fix initial resource usage ordering
astakos oa2: Handle failures due to too long redirect urls
Change database field to TextField in order to avoid restrictions on theredirect url lengthsUpdate tests
This fix introduces a database migration of the oa2 app
astakos: fix tests after verbal message changes
astakos: 'activation' -> 'verification'
Change all Astakos messages to reflect the new sign up procedure:
astakos: Update astakos tests
astakos: Handle third party unverified user change password form submition
astakos: Update snf-manage oauth2-client-list command
Remove the name field
astakos: Improved email validator
Custom EmailValidator class backported from django 1.6
astakos: Existing third party identifier handling in signup
remove both existing third party authentication and unverified user entrieswhen the third party identifier gets used.
astakos: Prerender password input value in profile form
astakos: Improve invalid activation code handling
display error message instead of returning a 404 response
astakos: Auth provider presentation fix
prevent encoding errors
astakos: Fix view requests for objects whose name contains /
Astakos erroneously made assumptions about the requested redirect_uri format.This is not anyway desirable and it was also responsible for view failuresunder certain circumstances.This fix implements a clearer check for the requested redirect_uri without...
Users would previously acquire quotas on email verification; this is nowdone on user acceptance. We delete holdings for non-moderated and forrejected users.
astakos: style fix for sortable tables thead
astakos: More logging fixes
astakos: Fix logging issue
pithos: Fix view issue with unicode paths
astakos: Fix POST /tokens (authenticate) api call
The call should return a string value for the user role id.
astakos: Hide empty project list in view
astakos oa2: Use common test code to make a user
astakos: Set initial signup values if available
prefill third party signup form with initial values (first name, last name,email) if available in the third party provider response.
Conflicts:
snf-astakos-app/astakos/im/views/target/shibboleth.py
astakos: Shibboleth EPPN migration functionality
Prior to this commit astakos used the mod_shib2 EPPN header value as theunique identifier for associating shibboleth idp users to astakos user entries.
This commit alters this behaviour and from now on astakos resloves unique...
astakos: Log shibboleth exception and merge fixes
snf_ci: Add oa2 app tests
astakos: Fix test
docs: Update Changelog, upgrade notes and guides
astakos oa2: Add copyright notes
astakos: Fix oauth2-client-delete command
Delete related authorization codes and tokens before deleting the client
astakos oa2: Add access_token field
Distinguise offline and online token use
astakos: Revoke access granted to resource
astakos oa2: rename settings and url prefixes
Change setting and url prefixes from `oa2` to`oauth2`
astakos: Minor improvements in validate token api call
Add tests for validate access token endpoint
astakos: Additional tests for validating access token
astakos: Configure oa2 app
astakos: Minor changes in oa2 app
astakos: Provide additional tests for oa2 app
astakos: oa2 app
astakos: Extend oa2 app
astakos: Introduce CRUD management commands for oa2 clients
astakos: Initiate (south) db migrations for oa2 app
astakos: Introduce api call for validating a temporary oa2 token
snf_django: Change error status code if request method is not valid
Return 405 (NotAllowed) instead of 400 (BadRequest)Add Allow header in the response containing the list of valid methods
astakos: Ensure computed result gets returned
Relying on cache.get is not always safe
Add some missing Copyright notices
Also add 2013 in package COPYRIGHT files.
astakos: Cache endpoints in POST /tokens
Since endpoints are rarely altered, we speed up POST /tokens by cachingthem.
astakos: Cache visible resources in GET /quotas
Speed up GET /quotas by caching the list of API visible resources.For consistency, apply the cache in GET /resources, too.
quotaholder: Reuse holding IDs in set_quota
For efficiency reasons, commit 20c6de3 deletes and recreates holdingsinstead of updating them one by one. In order not to exhaust the IDs, wereuse the deleted ones.
astakos: Associate only accepted users with projects
Allow project enrollment and ownership only for users that are accepted,not just email_verified.
Also change base quota only for accepted users.