app/soc/logic/models/user.py
changeset 308 740090cd17c9
child 316 9efdc7bc3565
equal deleted inserted replaced
307:bf43430caffb 308:740090cd17c9
       
     1 #!/usr/bin/python2.5
       
     2 #
       
     3 # Copyright 2008 the Melange authors.
       
     4 #
       
     5 # Licensed under the Apache License, Version 2.0 (the "License");
       
     6 # you may not use this file except in compliance with the License.
       
     7 # You may obtain a copy of the License at
       
     8 #
       
     9 #   http://www.apache.org/licenses/LICENSE-2.0
       
    10 #
       
    11 # Unless required by applicable law or agreed to in writing, software
       
    12 # distributed under the License is distributed on an "AS IS" BASIS,
       
    13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
       
    14 # See the License for the specific language governing permissions and
       
    15 # limitations under the License.
       
    16 
       
    17 """User (Model) query functions.
       
    18 """
       
    19 
       
    20 __authors__ = [
       
    21   '"Sverre Rabbelier" <sverer@rabbelier.nl>',
       
    22   ]
       
    23 
       
    24 
       
    25 from soc.logic import key_name
       
    26 from soc.logic.models import base
       
    27 import soc.models.user
       
    28 
       
    29 
       
    30 class Logic(base.Logic):
       
    31   """Logic methods for the User model
       
    32   """
       
    33 
       
    34   def __init__(self):
       
    35     """Defines the name, key_name and model for this entity.
       
    36     """
       
    37 
       
    38     self._name = "user"
       
    39     self._model = soc.models.user.User
       
    40     self._keyName = key_name.nameUser
       
    41     self._skip_properties = ['former_ids']
       
    42 
       
    43   def _updateField(self, model, name, value):
       
    44     """Special case logic for id.
       
    45 
       
    46     When the id is changed, the former_ids field should be appended
       
    47     with the old id.
       
    48     """
       
    49     if name == 'id' and model.id != value:
       
    50       model.former_ids.append(model.id)
       
    51 
       
    52     return True
       
    53 
       
    54 
       
    55 logic = Logic()