Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / models.py @ 9a94c0f1

History | View | Annotate | Download (69.7 kB)

# Date Author Comment
9efd0075 02/13/2014 04:20 pm Kostas Papadimitriou

astakos: A bit of refactoring of projects views

- Update project views to work with the updated projects logic
- Use api.projects methods when applicable
- Common project view decorator
- Common view for app/project details

edc51a21 02/13/2014 04:20 pm Giorgos Korfiatis

astakos: Add member mode in GET projects

Get only active projects where request user is an active member if mode is
set to `member'.

a53ec93b 02/13/2014 04:20 pm Giorgos Korfiatis

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; locking
the project is now adequate.

Update quota listing in management commands; introduce option --quota in...

362dadaa 02/13/2014 03:19 pm Giorgos Korfiatis

astakos: Adapt to new project/app scheme

c3763b39 02/13/2014 03:19 pm Giorgos Korfiatis

astakos: Make ProjectResourceGrant fields non null

Field project_capacity now requires a value; field project_application
was mistakenly set nullable.

2c1a5a15 02/13/2014 03:19 pm Giorgos Korfiatis

astakos: Introduce base projects

Every user is associated with a special-purpose `base' project. Its
mission is to manage the user's base quota.

d1c95ad9 02/13/2014 03:19 pm Giorgos Korfiatis

astakos: Mark project membership as initialized

Add flag `initialized' on ProjectMembership. It is set to true once a user
is accepted. It is used to distinguish users that have registered
project quota (but may have been removed since then).

5e3c112a 02/12/2014 06:48 pm Giorgos Korfiatis

astakos: Add project default in resources

Add field `project_default' in resources. This will serve as a skeleton to
fill project quota (both project-level and member-level limits) for
resources not specified by the application.

The field is initialized by consulting the default base quota (field...

8af74daf 02/12/2014 06:48 pm Giorgos Korfiatis

astakos: Make limit_on_members_number a bigint

We need bigint in order to represent infinite as 2**63-1.

2ffe077d 02/12/2014 06:48 pm Giorgos Korfiatis

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.

88f5242e 02/12/2014 06:47 pm Giorgos Korfiatis

astakos: Identify projects with a uuid

Introduce field `uuid'; use it to refer to projects in the API and the
management commands.

9255938e 02/10/2014 02:40 pm Kostas Papadimitriou

astakos: Typo fix

62d30634 02/10/2014 02:40 pm Giorgos Korfiatis

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.

9dd66900 01/23/2014 02:28 pm Kostas Papadimitriou

astakos: Display auth provider identifier in user-show command

db34e6ad 01/22/2014 03:33 pm Kostas Papadimitriou

astakos: Prevent erroneus race conditions in simultaneous signups

Refs: #4966

d0d3646d 12/20/2013 02:00 pm Kostas Papadimitriou

astakos: Handle third party unverified user change password form submition

5764728a 12/03/2013 09:47 pm Sofia Papagiannaki

astakos: Revoke access granted to resource

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.

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