# HG changeset patch # User Lennard de Rijk # Date 1237133325 0 # Node ID 7b3ba4d80b35d0a1e93d91ae096f2b4476046e26 # Parent 091118f6e88669993a1c73d71a42ace9fb1f5545 Added the Follower model. This will be used to let people subscribe to for instance a student proposal so that they can receive updates about it. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed diff -r 091118f6e886 -r 7b3ba4d80b35 app/soc/models/follower.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/soc/models/follower.py Sun Mar 15 16:08:45 2009 +0000 @@ -0,0 +1,48 @@ +#!/usr/bin/python2.5 +# +# Copyright 2009 the Melange authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""This module contains the Follower Model.""" + +__authors__ = [ + '"Lennard de Rijk" ', +] + + +from google.appengine.ext import db + +import soc.models.linkable + + +class Follower(soc.models.linkable.Linkable): + """Details specific to a Follower. + + A Follower is a generic model which indicates that a User is following + some other Linkable entity in the application. + + Scope and scope_path should be set to the entity being followed. + The link_id should be used to indicate which user is following. + + If more functionality is needed like for instance when following + either a public or private review for Student Proposals this model + should be extended. As to make it possible to create different types + of following. + """ + + #: Required property to tie a user to the entity it is following + user = db.ReferenceProperty(reference_class=soc.models.user.User, + required=True, collection_name='following') + + pass