+++ /dev/null
-from elixir import *
-from art import Art
-
-
-class UserRelation(Entity):
- user = ManyToOne("User")
- art = ManyToOne("Art")
- kind = Field(String) # by for of
- creator = ManyToOne("User")
- confirmed_by_related_user = Field(Boolean)
-
- # it is useful to record which authority figure on a given artwork
- # confirmed the validity of this relation.
- confirmed_by_authority = ManyToOne("User")
-
- def __init__(self, **kwargs):
- super(UserRelation, self).__init__(**kwargs)
- assert self.user and self.art and self.kind and self.creator
-
- if self.creator == self.user:
- self.confirmed_by_related_user = True
- # TODO: implement authorities
- # if self.creator in self.art.authorities
- # self.confirmed_by_authority = self.creator
-
- def __unicode__(self):
- return "%s: %s" % (self.kind, self.related_user)
-
-
-class RelationMixin(object):
- def add_relation(creator, kind, user):
- return UserRelation(art=self, creator=creator, kind=kind, user=user)
-
-Art.__bases__ += (RelationMixin,)