app/soc/logic/models/org_app.py
author Daniel Hans <Daniel.M.Hans@gmail.com>
Fri, 07 Aug 2009 01:27:24 +0200
changeset 2736 8f3935f0f4ba
parent 1307 091a21cf3627
permissions -rw-r--r--
Argument store added to updateEntityProperties. This argument determines if an entity should be stored in the data model after its properties are updated. It may be useful, for example, along with tasks (Task Queue API). One may want to make some modifications to an entity during execution of a task, but the developer is sure that at least one new task, which also wants to modify the entity, will be queued, so he or she can just update the entity without saving the changes to the data model, set the entity in memcache and the following task (which is to be executed very shortly) is to retrive the current entity from the memcache (without any expensive calls to the actual data model).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1148
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     2
#
1307
091a21cf3627 Update the copyright notice for 2009.
Sverre Rabbelier <srabbelier@gmail.com>
parents: 1171
diff changeset
     3
# Copyright 2009 the Melange authors.
1148
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     4
#
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     8
#
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    10
#
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    16
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    17
"""Organization Application (Model) query functions.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    18
"""
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    19
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    20
__authors__ = [
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    21
  '"Lennard de Rijk" <ljvderijk@gmail.com>',
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    22
  ]
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    23
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    24
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    25
from soc.logic.models import group_app
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    26
from soc.logic.models import program as program_logic
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    27
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    28
import soc.models.group_app
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    29
import soc.models.org_app
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    30
1171
26998a171c49 Style fixes in soc.logic.models modules.
Pawel Solyga <Pawel.Solyga@gmail.com>
parents: 1148
diff changeset
    31
1148
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    32
class Logic(group_app.Logic):
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    33
  """Logic methods for the Organization Application model.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    34
  """
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    35
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    36
  def __init__(self, model=soc.models.org_app.OrgApplication,
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    37
               base_model=soc.models.group_app.GroupApplication,
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    38
               scope_logic=program_logic):
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    39
    """Defines the name, key_name and model for this entity.
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    40
    """
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    41
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    42
    super(Logic, self).__init__(model=model, base_model=base_model,
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    43
        scope_logic=program_logic)
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    44
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    45
90830679b60c Added org_app logic.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    46
logic = Logic()