log = logging.getLogger(__name__)
import elixir
-from floof.model.art import Art, Rating
+from floof.model.users import User
+from floof.model.art import Art, Rating, UserRelation
from floof.model.comments import Discussion
from sqlalchemy.exceptions import IntegrityError
# TODO: login required
def create(self):
+ # if 'file' not in request.params or not request.params['file']:
+ # return "Validation Error: Needs a File"
+
+
c.art = Art(uploader=c.user, **request.params)
c.art.discussion = Discussion(count=0)
+
+
+ artist = User.get_by(name=request.params['artist'])
+ if not artist:
+ return "Validation Error: Artist not found"
+
+ relation = UserRelation(user=artist, kind="by", creator=c.user, art=c.art)
try:
elixir.session.commit()
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
<p>Now: Upload a file. Later: Supply a link? Not exclusive to uploading.</p>
${h.form(h.url('create_art'), multipart=True)}
+Artist: ${h.text('artist')}
${h.file('file')}
${h.submit(None, 'Upload!')}
${h.end_form()}