3 from pylons
import request
, response
, session
, tmpl_context
as c
, app_globals
as g
4 from pylons
.controllers
.util
import abort
, redirect_to
6 from fma
.orm
import mapper
7 from townsquare
.model
.discussion
import Discussion
8 from townsquare
.model
.channel
import Channel
9 from townsquare
.model
.user
import User
10 from townsquare
.lib
.base
import BaseController
, render
12 log
= logging
.getLogger(__name__
)
14 mapper(Channel
, Discussion
, User
)
16 class DiscussionController(BaseController
):
18 def view(self
, idname
):
19 c
.post
= g
.db
.col(Discussion
).find_one(idname
=idname
)
20 #author = g.db.col(User).find_one()
21 #c.post.creator = author
25 return render('/discussion/view.mako')
28 c
.item_list
= g
.db
.col(Discussion
).find()
29 return render('/discussion/list.mako')
34 if (len(request
.POST
)):
35 c
.title
= request
.POST
.getone('title').strip()
37 c
.field_errors
.append('title')
38 c
.content
= request
.POST
.getone('content').strip()
39 if len(c
.content
) == 0:
40 c
.field_errors
.append('content')
41 c
.channels
= request
.POST
.getone('channels').strip()
42 form_valid
= len(c
.field_errors
) == 0
45 nd
= g
.db
.col(Discussion
).find().count()
46 disc
= g
.db
.col(Discussion
).new()
47 disc
.creator
= g
.db
.col(User
).find_one()
48 disc
.name
= "Discussion %i" % nd
49 disc
.idname
= "discussion_%i" % nd
50 disc
.content
= c
.content
52 channelNames
= c
.channels
.split(' ')
53 for cn
in channelNames
:
54 ch
= g
.db
.col(Channel
).find_one(idname
=cn
)
56 disc
.channels
.append(ch
)
57 #disc.channels.append(g.db.col(Channel).find_one())
61 return render('/discussion/edit.mako')