Revision 2c960473 snf-astakos-app/astakos/im/functions.py

b/snf-astakos-app/astakos/im/functions.py
32 32
# or implied, of GRNET S.A.
33 33

  
34 34
import logging
35
from datetime import datetime
36
from dateutil.relativedelta import relativedelta
35 37

  
36 38
from django.utils.translation import ugettext as _
37 39
from django.core.mail import send_mail, get_connection
......
690 692
    return allowed
691 693

  
692 694

  
695
def make_base_project(username):
696
    chain = new_chain()
697
    proj = create_project(
698
        id=chain.chain,
699
        last_application=None,
700
        owner=None,
701
        realname="tmp",
702
        homepage="",
703
        description=("base project for user " + username),
704
        end_date=(datetime.now() + relativedelta(years=100)),
705
        member_join_policy=CLOSED_POLICY,
706
        member_leave_policy=CLOSED_POLICY,
707
        limit_on_members_number=1,
708
        private=True,
709
        is_base=True)
710
    proj.realname = "base:" + proj.uuid
711
    proj.save()
712
    # No quota are set; they will be filled in upon user acceptance
713
    return proj
714

  
715

  
716
def enable_base_project(user):
717
    project = user.base_project
718
    _fill_from_skeleton(project)
719
    project.activate()
720
    new_membership(project, user, enroll=True)
721
    quotas.qh_sync_project(project)
722

  
723

  
693 724
def submit_application(owner=None,
694 725
                       name=None,
695 726
                       project_id=None,
......
934 965
    quotas.qh_sync_locked_users(members)
935 966
    logger.info("%s has been approved." % (application.log_display))
936 967
    project_notif.application_notify(application, "approve")
968
    return project
937 969

  
938 970

  
939 971
def _fill_from_skeleton(project):

Also available in: Unified diff