app/soc/views/models/club.py
author Sverre Rabbelier <srabbelier@gmail.com>
Sun, 25 Jan 2009 16:25:17 +0000
changeset 986 e9611a2288ca
parent 983 1bbf226ade8e
child 989 f52654ea6350
permissions -rw-r--r--
Rename ModelProperties to EntityProperties We use 'model' when referring to the db.Model, the context in which 'ModelProperties' was used we really mean 'entity', which refers to an instantiation of the model. Patch by: Sverre Rabbelier
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     2
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     3
# Copyright 2008 the Melange authors.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     4
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     8
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    10
#
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    16
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    17
"""Views for Clubs.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    18
"""
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    19
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    20
__authors__ = [
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
    21
    '"Sverre Rabbelier" <sverre@rabbelier.nl>',
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    22
    '"Lennard de Rijk" <ljvderijk@gmail.com>',
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    23
  ]
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    24
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    25
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    26
from google.appengine.api import users
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    27
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    28
from django import http
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    29
from django import forms
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    30
from django.utils.translation import ugettext
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    31
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    32
from soc.logic import dicts
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    33
from soc.logic.models import user as user_logic
882
267e31f1a0b6 Added club_app model and logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 878
diff changeset
    34
from soc.logic.models import club_app as club_app_logic
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
    35
from soc.logic.models import club as club_logic
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    36
from soc.logic.models import request as request_logic
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    37
from soc.views import out_of_band
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    38
from soc.views.helper import access
878
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
    39
from soc.views.helper import decorators
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    40
from soc.views.helper import dynaform
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    41
from soc.views.helper import lists as list_helper
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    42
from soc.views.helper import redirects
896
445f3e8a44d9 Fixed import sorting and indentation in soc/views/models/club.py
Lennard de Rijk <ljvderijk@gmail.com>
parents: 884
diff changeset
    43
from soc.views.helper import responses
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    44
from soc.views.helper import widgets
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    45
from soc.views.models import base
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    46
from soc.views.models.request import view as request_view
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    47
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    48
import soc.logic.models.club
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    49
import soc.views.helper
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    50
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    51
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    52
class View(base.View):
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    53
  """View methods for the Club model.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    54
  """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    55
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    56
  def __init__(self, params=None):
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    57
    """Defines the fields and methods required for the base View class
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    58
    to provide the user with list, public, create, edit and delete views.
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    59
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    60
    Params:
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    61
      params: a dict with params for this View
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    62
    """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    63
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    64
    rights = {}
944
5ea2bd9e3fa6 Refactored invite system from club_admin to role to make the system work with host as well.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 934
diff changeset
    65
    rights['create'] = [access.checkIsDeveloper]
814
25ffebd9fa8f Implement the checkIsClubAppAccepted function
Sverre Rabbelier <srabbelier@gmail.com>
parents: 802
diff changeset
    66
    rights['edit'] = [access.checkIsClubAdminForClub]
944
5ea2bd9e3fa6 Refactored invite system from club_admin to role to make the system work with host as well.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 934
diff changeset
    67
    rights['delete'] = [access.checkIsDeveloper]
5ea2bd9e3fa6 Refactored invite system from club_admin to role to make the system work with host as well.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 934
diff changeset
    68
    rights['list'] = [access.checkIsDeveloper]
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    69
    rights['list_requests'] = [access.checkIsClubAdminForClub]
884
ded4850776c8 Changed checkIsClubAppAccepted into a more generic checkIsApplicationAccepted.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 882
diff changeset
    70
    rights['applicant'] = [access.checkIsApplicationAccepted(club_app_logic)]
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    71
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    72
    new_params = {}
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    73
    new_params['logic'] = soc.logic.models.club.logic
802
95c534d02e39 Added Club Admin model, logic, and view
Sverre Rabbelier <srabbelier@gmail.com>
parents: 800
diff changeset
    74
    new_params['rights'] = rights
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    75
    new_params['name'] = "Club"
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
    76
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    77
    patterns = []
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    78
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    79
    patterns += [(r'^%(url_name)s/(?P<access_type>applicant)/%(key_fields)s$',
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    80
        'soc.views.models.%(module_name)s.applicant', 
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    81
        "%(name)s Creation via Accepted Application"),
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    82
        (r'^%(url_name)s/(?P<access_type>list_requests)/%(key_fields)s$',
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    83
        'soc.views.models.%(module_name)s.list_requests',
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
    84
        'List of requests for %(name)s')]
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
    85
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    86
    new_params['extra_django_patterns'] = patterns
799
30a912906a57 Construct names automatically from base name.
Sverre Rabbelier <srabbelier@gmail.com>
parents: 790
diff changeset
    87
846
65daaf006399 Remove member_template from extra_dynaexclude in soc.views.models.club since member_template is only available in Organization as of recent commit.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 814
diff changeset
    88
    new_params['extra_dynaexclude'] = ['founder', 'home']
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    89
    new_params['edit_extra_dynafields'] = {
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    90
        'founded_by': forms.CharField(widget=widgets.ReadOnlyInput(),
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    91
                                   required=False),
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    92
        }
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    93
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    94
    params = dicts.merge(params, new_params)
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    95
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    96
    super(View, self).__init__(params=params)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
    97
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    98
    # create and store the special form for applicants
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
    99
    updated_fields = {
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   100
        'link_id': forms.CharField(widget=widgets.ReadOnlyInput(),
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   101
            required=False)}
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   102
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   103
    applicant_create_form = dynaform.extendDynaForm(
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   104
        dynaform = self._params['create_form'],
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   105
        dynafields = updated_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   106
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   107
    params['applicant_create_form'] = applicant_create_form
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   108
878
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
   109
  @decorators.merge_params
fdfab50cc9df Fix trailing whitespace and apply decorators
Sverre Rabbelier <srabbelier@gmail.com>
parents: 877
diff changeset
   110
  @decorators.check_access
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   111
  def applicant(self, request, access_type,
907
3786030d5952 Fix idention in soc.views.models.club module.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 896
diff changeset
   112
                page_name=None, params=None, **kwargs):
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   113
    """Handles the creation of a club via an approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   114
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   115
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   116
      request: the standard Django HTTP request object
919
3f9072bab1d4 Added missing comment to soc/views/models/club.py.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 907
diff changeset
   117
      access_type : the name of the access type which should be checked
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   118
      page_name: the page name displayed in templates as page and header title
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   119
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   120
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   121
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   122
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   123
    # get the context for this webpage
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   124
    context = responses.getUniversalContext(request)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   125
    context['page_name'] = page_name
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   126
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   127
    if request.method == 'POST':
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   128
      return self.applicantPost(request, context, params, **kwargs)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   129
    else:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   130
      # request.method == 'GET'
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   131
      return self.applicantGet(request, context, params, **kwargs)
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   132
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   133
  def applicantGet(self, request, context, params, **kwargs):
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   134
    """Handles the GET request concerning the creation of a club via an
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   135
    approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   136
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   137
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   138
      request: the standard Django HTTP request object
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   139
      context: dictionary containing the context for this view
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   140
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   141
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   142
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   143
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   144
    # find the application
882
267e31f1a0b6 Added club_app model and logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 878
diff changeset
   145
    key_fields = club_app_logic.logic.getKeyFieldsFromDict(kwargs)
267e31f1a0b6 Added club_app model and logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 878
diff changeset
   146
    application = club_app_logic.logic.getFromFields(**key_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   147
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   148
    # extract the application fields
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   149
    field_names = application.properties().keys()
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   150
    fields = dict( [(i, getattr(application, i)) for i in field_names] )
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   151
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   152
    # create the form using the fields from the application as the initial value
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   153
    form = params['applicant_create_form'](initial=fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   154
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   155
    # construct the appropriate response
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   156
    return super(View, self)._constructResponse(request, entity=None,
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   157
        context=context, form=form, params=params)
800
738f6335b0e2 Added a create method that uses an existing application
Sverre Rabbelier <srabbelier@gmail.com>
parents: 799
diff changeset
   158
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   159
  def applicantPost(self, request, context, params, **kwargs):
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   160
    """Handles the POST request concerning the creation of a club via an
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   161
    approved club application.
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   162
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   163
    Args:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   164
      request: the standard Django HTTP request object
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   165
      context: dictionary containing the context for this view
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   166
      params: a dict with params for this View
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   167
      kwargs: the Key Fields for the specified entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   168
    """
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   169
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   170
    # populate the form using the POST data
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   171
    form = params['applicant_create_form'](request.POST)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   172
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   173
    if not form.is_valid():
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   174
      # return the invalid form response
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   175
      return self._constructResponse(request, entity=None, context=context,
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   176
          form=form, params=params)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   177
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   178
    # collect the cleaned data from the valid form
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   179
    key_name, fields = soc.views.helper.forms.collectCleanedFields(form)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   180
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   181
    # fill in the founder of the club
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   182
    account = users.get_current_user()
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   183
    user = user_logic.logic.getForFields({'account': account}, unique=True)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   184
    fields['founder'] = user
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   185
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   186
    if not key_name:
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   187
      key_fields =  self._logic.getKeyFieldsFromDict(fields)
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   188
      key_name = self._logic.getKeyNameForFields(key_fields)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   189
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   190
    # create the club entity
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   191
    entity = self._logic.updateOrCreateFromKeyName(fields, key_name)
877
b2575da44c36 Fix whitespace damage
Sverre Rabbelier <srabbelier@gmail.com>
parents: 869
diff changeset
   192
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   193
    # redirect to notifications list to see the admin invite
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   194
    return http.HttpResponseRedirect('/notification/list')
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   195
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   196
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   197
  @decorators.merge_params
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   198
  @decorators.check_access
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   199
  def listRequests(self, request, access_type,
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   200
                page_name=None, params=None, **kwargs):
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   201
    """Gives an overview of all the requests for a specific club.
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   202
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   203
    Args:
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   204
      request: the standard Django HTTP request object
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   205
      access_type : the name of the access type which should be checked
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   206
      page_name: the page name displayed in templates as page and header title
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   207
      params: a dict with params for this View
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   208
      kwargs: the Key Fields for the specified entity
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   209
    """
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   210
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   211
    # set the pagename to include the link_id
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   212
    page_name = '%s %s' %(page_name, kwargs['link_id'])
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   213
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   214
    club_roles = ['club_admin', 'club_member']
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   215
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   216
    # list all incoming requests
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   217
    filter = {
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   218
        'role': club_roles,
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   219
        'state': 'new'
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   220
        }
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   221
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   222
    # create the list parameters
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   223
    inc_req_params = request_view.getParams()
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   224
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   225
    # define the list redirect action to the request processing page
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   226
    inc_req_params['list_action'] = (redirects.getProcessRequestRedirect, None)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   227
    inc_req_params['list_description'] = ugettext(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   228
        "An overview of the club's incoming requests.")
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   229
    
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   230
    inc_req_content = list_helper.getListContent(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   231
        request, inc_req_params, filter, 0)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   232
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   233
    # list all outstanding invites
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   234
    filter = {
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   235
        'role': club_roles,
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   236
        'state': 'group_accepted'
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   237
        }
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   238
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   239
    # create the list parameters
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   240
    out_inv_params = request_view.getParams()
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   241
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   242
    # define the list redirect action to the request processing page
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   243
    out_inv_params['list_action'] = (redirects.getProcessRequestRedirect, None)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   244
    out_inv_params['list_description'] = ugettext(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   245
        "An overview of the club's outstanding invites.")
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   246
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   247
    out_inv_content = list_helper.getListContent(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   248
        request, out_inv_params, filter, 1)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   249
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   250
    # list all ignored requests
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   251
    filter = {
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   252
        'role': club_roles,
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   253
        'state': 'ignored'
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   254
        }
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   255
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   256
    # create the list parameters
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   257
    ignored_params = request_view.getParams()
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   258
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   259
    # define the list redirect action to the request processing page
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   260
    ignored_params['list_action'] = (redirects.getProcessRequestRedirect, None)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   261
    ignored_params['list_description'] = ugettext(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   262
        "An overview of the club's ignored requests.")
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   263
    
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   264
    ignored_content = list_helper.getListContent(
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   265
        request, ignored_params, filter, 2)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   266
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   267
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   268
    contents = [inc_req_content, out_inv_content, ignored_content]
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   269
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   270
    return self._list(request, params, contents, page_name)
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   271
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   272
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   273
  def _editGet(self, request, entity, form):
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   274
    """See base.View._editGet().
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   275
    """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   276
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   277
    # fill in the founded_by with data from the entity
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   278
    form.fields['founded_by'].initial = entity.founder.name
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   279
    super(View, self)._editGet(request, entity, form)
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   280
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   281
  def _editPost(self, request, entity, fields):
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   282
    """See base.View._editPost().
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   283
    """
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   284
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   285
    if not entity:
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   286
      # only if we are creating a new entity we should fill in founder
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   287
      account = users.get_current_user()
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   288
      user = user_logic.logic.getForFields({'account': account}, unique=True)
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   289
      fields['founder'] = user
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   290
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   291
    super(View, self)._editPost(request, entity, fields)
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   292
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   293
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   294
view = View()
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   295
869
cd17698846ce Added a new view to help with application -> group process.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 858
diff changeset
   296
applicant = view.applicant
782
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   297
create = view.create
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   298
delete = view.delete
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   299
edit = view.edit
27924b0f13cd Fixed missing files in r1364.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
   300
list = view.list
983
1bbf226ade8e Added request listing for Club Admins.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 963
diff changeset
   301
list_requests = view.listRequests
814
25ffebd9fa8f Implement the checkIsClubAppAccepted function
Sverre Rabbelier <srabbelier@gmail.com>
parents: 802
diff changeset
   302
public = view.public
858
e79e7a22326f Add an export() view, and implement it as text/text for Document.
Todd Larsen <tlarsen@google.com>
parents: 846
diff changeset
   303
export = view.export
934
9fcc08971efe Add a 'pick' view to the appropriate views
Sverre Rabbelier <srabbelier@gmail.com>
parents: 919
diff changeset
   304
pick = view.pick