Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / models.py @ be67d92e

History | View | Annotate | Download (65.4 kB)

# Date Author Comment
1808f7bc 11/25/2013 03:47 pm Giorgos Korfiatis

astakos: Refactor user creation

Provide auth.make_user() as the single way to create a new user. This
function is responsible to set all automatically generated fields, such as
username, uuid, and token. Clean up AstakosUser.save(), that used to
update these fields, and remove AstakosUser.__init__(). Remove trigger...

fa1e77f4 11/25/2013 03:47 pm Giorgos Korfiatis

astakos: Make user uuid field non-null

Set a uuid to any user missing one and set the field null=False.

f6ff3033 11/25/2013 03:47 pm Giorgos Korfiatis

astakos: Lock user in im views

Make sure that views modifying users run in a transaction and lock users
before updating.

ef1fb98b 11/25/2013 03:47 pm Giorgos Korfiatis

astakos: Reset user sign flags when adding new terms

When new terms are added, set has_signed_terms=False for all users, forcing
them to accept the new terms. If there are no terms, a new user is created
with has_signed_terms=True.

With this change we can skip querying the terms when authenticating a user,...

e066eedb 11/25/2013 03:47 pm Giorgos Korfiatis

astakos: Correct realname splitting

If a realname splits in more than two parts, store the whole value
as last_name. Also use the util function rather than initializing
a temporary AstakosUser, where needed.

f72ba65d 11/22/2013 04:44 pm Giorgos Korfiatis

astakos: Preserve existing quota on default change

View the resource defaults as a skeleton to be consulted when accepting
a new user. All users keep their quota in AstakosUserQuota.

Operate resource-modify in bulk, in order to avoiding updating the
quotaholder separately for each resource.

2dc27ac1 11/22/2013 04:44 pm Giorgos Korfiatis

astakos: Add resource visibility flags

Rename flag `allow_in_projects' to `ui_visible'. Add flag `api_visible'.
The former entails the latter.

41e92ef2 11/22/2013 04:44 pm Giorgos Korfiatis

astakos: Replace decimal field with bigint

Any values that happen to be greater than the new max (2**63-1)
are reduced to this value.

72313b77 11/22/2013 04:44 pm Giorgos Korfiatis

astakos: pep8 fixes

80a548e3 11/11/2013 12:59 pm Christos Stavrakakis

Merge branch 'master' into develop

Conflicts:
Changelog
astakosclient/astakosclient/keypath.py
ci/utils.py
docs/admin-guide.rst
snf-astakos-app/astakos/im/cookie.py
snf-astakos-app/astakos/im/functions.py
snf-astakos-app/astakos/im/quotas.py
snf-astakos-app/astakos/im/views/projects.py...

d59f5608 11/11/2013 11:42 am Sofia Papagiannaki

astakos: Fix logging issues

3848b521 10/15/2013 03:34 pm Giorgos Korfiatis

astakos: Handle quota for accepted users

A user is accepted if moderated=True and is_rejected=False. Only
accepted users have entries in the quotaholder.

bb528b2e 10/09/2013 04:52 pm Giorgos Korfiatis

astakos: pep8 fix

c7e03d20 10/09/2013 04:52 pm Giorgos Korfiatis

astakos: Remove custom ForUpdateManager

Remove custom manager that implemented select_for_update(), since this
is already implemented in Django 1.4.

1b27f8a2 10/04/2013 01:55 pm Giorgos Korfiatis

astakos: Handle quota for moderated users only

At some points, verified users where mistakenly assumed.

0a70d2c5 10/01/2013 06:16 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.8' into develop

Merge hotfix-0.14.8 which ports Synnefo to wheezy and Django 1.4.5

Conflicts:
ci/ci_squeeze.conf
ci/ci_wheezy.conf
ci/schemas/one_node_squeeze/packages.conf
ci/schemas/one_node_squeeze/squeeze.conf
ci/schemas/one_node_squeeze/wheezy.conf...

eb765213 10/01/2013 02:56 pm Giorgos Korfiatis

astakos: Store base URL in component

Deployer should provide it when adding a new component. Service endpoints
originating from a component are expected to match its base URL; otherwise,
a warning is issued during service registration. Re-registration with...

0eb1f53a 09/27/2013 02:13 pm Ilias Tsitsimpis

Fix a python syntax error

In python 2 we cannot have keyword-only arguments (PEP 3102).
And even if we could, this was not the right way to
declare a python function.

60b59fed 09/26/2013 02:47 pm Ilias Tsitsimpis

astakos: Fix `save() got unexpected argument'

From Django documentation:
"""
It’s also important that you pass through the arguments that can be
passed to the model method – that’s what the *args, **kwargs bit does.
Django will, from time to time, extend the capabilities of built-in...

a5aa11ee 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Fix enroll when already requested

Enrolling a user sets its membership state directly to ACCEPTED, also
in case of REQUESTED.

2556cf45 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Describe and implement API for projects

6d583e07 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Simplify project schema

Applications now point to a project (rather than an extra model Chain).
A Project is created upon submitting an application; it always points to
a single `reference' application.

Model Chain is kept as a sequence to generate project ids.

c4028837 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Remove precursor_application field

Submit a project modification by specifying a project id rather than
an application

1a14083b 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Change project membership schema

Replace ProjectMembershipHistory with ProjectMembershipLog, which
records every state transition. Never delete any ProjectMembership
entry; set it instead to an appropriate state.

f243d667 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Adapt UI to new project schema

Base tables on projects rather than applications; update templates.

b2369828 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Set project-wise resource limit in new app

71c741dc 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Refactor membership checks for conciseness

da4ac460 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Add log info in membership actions

Record user who performed the action and optional reason.

88beea39 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Improve logging for Projects and Applications

Introduce model ProjectLog as well as fields in ProjectApplication
in order to record all actions.

1b52192e 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Lock globally when approving application

We need to make sure that the name to be approved is unique
among all non-terminated projects. We thus acquire a global
lock before approving.

5192a608 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Remove unused ExtendedManager

3e87075a 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Use units common code in the UI

51db2da2 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Fix some issues pointed out by pyflakes

b10ceccd 08/07/2013 12:01 pm Giorgos Korfiatis

astakos: Enhance project tables rendering

Prefetch data in bulk queries in order to avoid continuously querying
the database.

d4e4e501 07/25/2013 12:46 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.3' into develop

Conflicts:
Changelog
snf-astakos-app/astakos/im/messages.py
snf-pithos-app/pithos/api/manage_accounts/__init__.py
snf-pithos-app/pithos/api/management/commands/reconcile-resources-pithos.py
snf-pithos-app/pithos/api/settings.py...

cfe52787 07/18/2013 03:03 pm Giorgos Korfiatis

astakos: Resume a deactivated project upon approval

When approving a modification, automatically set the project to active,
if it has been deactivated.

ce264c16 06/28/2013 09:27 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.2' into develop

Conflicts:
snf-astakos-app/astakos/im/views/projects.py
snf-cyclades-app/synnefo/logic/backend.py
snf-django-lib/snf_django/lib/astakos.py
version

d895de37 06/28/2013 01:34 pm Giorgos Korfiatis

astakos: Fix listing of approved members

Include leave requested and suspended members in the list of approved.

8fb8d0cf 06/17/2013 04:22 pm Giorgos Korfiatis

astakos: pep8 fixes

26498848 06/07/2013 05:44 pm Giorgos Korfiatis

astakos: Generate tokens without trailing equal signs

Strip padding ("=") introduced during the base64 encoding.
Update token examples in docs.

0e08e08e 06/04/2013 06:19 pm Giorgos Korfiatis

astakos: Record the service originating a resource

Add field service_origin in model Resource as well as in the
resource definitions, indicating the service where the resource
comes from. It is not a foreign key, in order to allow deleting
a component/service, without affecting registered resources and...

9d9af77d 06/04/2013 01:30 pm Giorgos Korfiatis

astakos: Extend component URL to size 1024

6d4190ba 06/04/2013 01:30 pm Giorgos Korfiatis

astakos: Generate tokens randomly

Token is now random 256 bits encoded as a base64 string.
Increase the auth_token database fields to accommodate it.

bea584e1 06/03/2013 12:00 pm Giorgos Korfiatis

astakos: Lift old-style services to components

Add model Component and migrate services along with their token
and UI URL to this new model. Rename service to component where
needed.

Add field service_type in Resource and fill it based on the name
of the service that used to own the resource.

0446cc58 06/03/2013 12:00 pm Giorgos Korfiatis

astakos: Add new-style services with endpoints

Drop old Service model and add models Service, Endpoint, and EndpointData.
Remove Resource's reference to Service.

7b0f970f 06/03/2013 12:00 pm Giorgos Korfiatis

astakos: Impose uniqueness on auth_token

Add uniqueness constraint in AstakosUser and Component models.
Before that, invalidate (set to None) any duplicate tokens.

When renewing a token, retry a couple of times, if generated token
is in use.

460b907d 05/29/2013 10:15 am Kostas Papadimitriou

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

aae2103e 05/27/2013 03:57 pm Kostas Papadimitriou

astakos: Update user-add command

removed activate option. User status can be changed using additional
user-modify commands (--verify, --accept etc.)

7ac2131c 05/23/2013 04:30 pm Sofia Papagiannaki

astakos: provide get_endpoints api call

67920ea0 05/23/2013 02:07 pm Giorgos Korfiatis

astakos: Strengthen authentication in user_from_token

All user-related API calls make use of this decorator to authenticate
the 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....

8998f09a 05/21/2013 06:28 pm Sofia Papagiannaki

astakos: unified settings handling

Import astakos settings module instead of importing specific settings

25769d1b 05/21/2013 12:41 pm Kostas Papadimitriou

astakos: Add AstakosUser status_display property

the property provides a status outline of the current user status.

3e0a032d 05/21/2013 11:54 am Sofia Papagiannaki

astakos: remove unused imports

70e11eaa 05/20/2013 09:18 pm Sofia Papagiannaki

astakos: reorganize views

  • split project views from the rest views
  • move third party authentication views (astakos.im.target)
    under astakos.im.views
  • move view decorators to a separate module
  • move utility methods utilized by views to a separate module
3715f954 05/20/2013 05:36 pm Giorgos Korfiatis

astakos: Remove code handling UserSetting

Keep UserSetting model; to be removed in a future version.

2e7924de 05/20/2013 03:14 pm Giorgos Korfiatis

astakos: Remove some unused imports

Also add a missing import in quotas.py

3c22bad0 05/20/2013 03:14 pm Giorgos Korfiatis

astakos: Lock chain for projects, user for syncing

Lock project's chain for every operation affecting either a project or
an application. Subsequently, lock user when needing to sync or to issue
commission to update pending_app quota.

In views, replace locking qh_add_pending_app with check_pending_app_quota,...

222305b7 05/20/2013 12:44 pm Sofia Papagiannaki

astakos: replace CookieAuthenticationMiddleware with a view decorator

reverse commits ab30f5f163a13dfc7f9bec4d263208dd35f09d16 &
1439d6383113b151b6a3316e320a0418fa30d421

decorate also ``django.contrib.auth.views`` utilized by
astakos

e7cb4085 05/15/2013 07:03 pm Kostas Papadimitriou

astakos: User activation flow improvements

Major refactoring on user email verification/activation process
---------------------------------------------------------------
Activation logic moved from dispersed code in functions/view modules to
ActivationBackend methods. All user activation handling code in astakos views...

3dfb68fe 05/15/2013 06:58 pm Kostas Papadimitriou

astakos: Remove deprecated AstakosUser fields

251b83be 05/15/2013 06:49 pm Giorgos Korfiatis

astakos: Remove membership policy settings

Available join and leave policies are internally defined and should
not be changed by settings. Move policy descriptions to presentation.py.

Do not convert to string the lookup key in templatetags/filters.py

764d99c4 05/14/2013 10:41 am Giorgos Korfiatis

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....

95f33116 05/13/2013 01:56 pm Giorgos Korfiatis

astakos: Use DateTimeField for enhanced precision

Refs #3717

Replace instances of DateField in ProjectMembership and
ProjectMembershipHistory.

b095201e 05/10/2013 12:45 pm Sofia Papagiannaki

astakos: remove astakos.im.api module

Replace all AstakosCallpoint references

5c34b421 05/08/2013 06:34 pm Giorgos Korfiatis

astakos: Remove deprecated Project methods

add_member, remove_member were not used.

8ee54f74 05/08/2013 03:24 pm Kostas Papadimitriou

astakos: Exclude non existing services form Service.catalog

Always return services that exist in database. If a known service exists
use the predefined presentation data as base dict upon which we build up
the returned info by merging the data stored in service model and the...

64d0c13e 05/02/2013 12:56 pm Giorgos Korfiatis

astakos: Add reason for all actions on applications

For cancel and dismiss, it is for now just a placeholder.

a6e18fd1 05/02/2013 12:14 pm Giorgos Korfiatis

astakos: Cleanup some project methods

eee9ec4d 05/01/2013 05:28 pm Giorgos Korfiatis

astakos: Cleanup input of submit_application

Form passes only a tuple (name, limit) for each selected resource,
omitting presentational data.

37d59b27 04/30/2013 08:09 pm Kostas Papadimitriou

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...

c8618788 04/30/2013 03:45 pm Giorgos Korfiatis

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 description
of astakos resources.

61edd5cd 04/25/2013 05:56 pm Olga Brani

Astakos: Checkboxes for members actions (project members page)

450c7fb0 04/23/2013 05:09 pm Kostas Papadimitriou

astakos: Initial tests for project views

a0b34382 04/22/2013 06:33 pm Giorgos Korfiatis

astakos: Reintroduce foreign key from Resource to Service

Also merge all migrations from 0026 to 0032.

34a61fff 04/19/2013 06:29 pm Kostas Papadimitriou

Service catalog fix

also include services for which no existing presentation data exist.
Admin can use ASTAKOS_SERVICE_META setting to customize the service
presentation metadata.

362ff471 04/19/2013 06:28 pm Kostas Papadimitriou

Store service access url in database

b052f360 04/19/2013 12:23 pm Giorgos Korfiatis

Move intdecimalfield.py to snf_django package

Rename it to fields.py and update all migrations that reference the field.

222a4f6a 04/19/2013 11:09 am Giorgos Korfiatis

Move managers.py to snf_django package

0cdc5cc5 04/18/2013 06:50 pm Giorgos Korfiatis

astakos: Remove obsolete ProjectResourceGrant fields

2ec5a35c 04/18/2013 06:23 pm Giorgos Korfiatis

astakos: Remove obsolete fields of AstakosUserQuota

Remove quantity, import_limit, export_limit.
Update user-set-initial-quota management command.

673f8f42 04/18/2013 05:56 pm Giorgos Korfiatis

astakos: Remove obsolete project-related model fields

Several fields of models Project and ProjectMembership were related
to the external syncing to quotaholder and have become obsolete since
the inclusion of quotaholder in astakos.

4161cb70 04/18/2013 12:20 pm Giorgos Korfiatis

Move resource data away from astakos settings

UI-related presentation data go to presentation.py.
Remove load_service_resources call and related astakos-init
management command.

34d3883a 04/18/2013 12:20 pm Giorgos Korfiatis

Make resource name independent of service name

Also remove unused ResourceMetadata model.

b1ea24f3 04/18/2013 12:20 pm Giorgos Korfiatis

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...

26551b92 04/18/2013 12:20 pm Kostas Papadimitriou

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

75380308 04/18/2013 12:20 pm Kostas Papadimitriou

Use updated resource models in projects views

0156e40c 04/18/2013 12:20 pm Kostas Papadimitriou

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...

54bac253 04/18/2013 12:20 pm Kostas Papadimitriou

Astakos missing Service model migrations

6cc50d6a 04/11/2013 01:21 pm Giorgos Korfiatis

Cleanup obsolete quota code

1028e568 04/08/2013 01:43 pm Giorgos Korfiatis

API call for resources

4850202e 04/08/2013 01:37 pm Giorgos Korfiatis

Do not register resources in quotaholder

e496f888 04/05/2013 06:49 pm Giorgos Korfiatis

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 in
quotaholder calls.

0da5e49a 04/05/2013 06:49 pm Giorgos Korfiatis

Compute and show quotas by source

Adjust astakos code to the new nested dict structure of quotas.

aa27f246 04/05/2013 06:49 pm Giorgos Korfiatis

Move quota-related code out of models.py

Intention is to collect all quota-related code to a single file.

8cbea11d 04/05/2013 06:49 pm Giorgos Korfiatis

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 up
to existing values in quotaholder.

We now switch to recomputing all quotas for affected users and resetting...

f77363c2 04/05/2013 06:48 pm Giorgos Korfiatis

wip Update astakos.im to use local quotaholder

Import directly quotaholder.callpoint in endpoint/qh.py
instead of an HTTP client.
Remove code related to entities, such as registering users and services.
Remove sync_projects logic.

992b81b6 04/05/2013 06:48 pm Giorgos Korfiatis

wip Remove check whether membership is pending sync

It is not needed any more, syncing to quotaholder will happen
in a single transaction along with the call initiating the change.

3d4cef9e 04/05/2013 06:48 pm Giorgos Korfiatis

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 transaction
as the call initiating the syncing.

14a58548 04/05/2013 06:48 pm Giorgos Korfiatis

wip Update astakos.im to simplified quotaholder policy

570015d2 04/05/2013 06:48 pm Giorgos Korfiatis

wip New, simplified syncing to quotaholder