Revision 6da04174 snf-astakos-app/astakos/im/functions.py

b/snf-astakos-app/astakos/im/functions.py
705 705
    return auto_accepted
706 706

  
707 707

  
708
def submit_application(kw, request_user=None):
709

  
710
    kw['applicant'] = request_user
711
    resource_policies = kw.pop('resource_policies', None)
708
def submit_application(owner=None,
709
                       name=None,
710
                       precursor_id=None,
711
                       homepage=None,
712
                       description=None,
713
                       start_date=None,
714
                       end_date=None,
715
                       member_join_policy=None,
716
                       member_leave_policy=None,
717
                       limit_on_members_number=None,
718
                       comments=None,
719
                       resource_policies=None,
720
                       request_user=None):
712 721

  
713 722
    precursor = None
714
    precursor_id = kw.get('precursor_application', None)
715 723
    if precursor_id is not None:
716 724
        objs = ProjectApplication.objects
717 725
        precursor = objs.get_for_update(id=precursor_id)
718
        kw['precursor_application'] = precursor
719 726

  
720 727
        if (request_user and
721 728
            (not precursor.owner == request_user and
......
724 731
            m = _(astakos_messages.NOT_ALLOWED)
725 732
            raise PermissionDenied(m)
726 733

  
727
    owner = kw['owner']
728 734
    force = request_user.is_project_admin()
729 735
    ok, limit = qh_add_pending_app(owner, precursor, force)
730 736
    if not ok:
731 737
        m = _(astakos_messages.REACHED_PENDING_APPLICATION_LIMIT) % limit
732 738
        raise PermissionDenied(m)
733 739

  
734
    application = ProjectApplication(**kw)
740
    application = ProjectApplication(
741
        applicant=request_user,
742
        owner=owner,
743
        name=name,
744
        precursor_application_id=precursor_id,
745
        homepage=homepage,
746
        description=description,
747
        start_date=start_date,
748
        end_date=end_date,
749
        member_join_policy=member_join_policy,
750
        member_leave_policy=member_leave_policy,
751
        limit_on_members_number=limit_on_members_number,
752
        comments=comments)
735 753

  
736 754
    if precursor is None:
737 755
        application.chain = new_chain()

Also available in: Unified diff