def create_idea(request): discussion_id = int(request.matchdict['discussion_id']) session = Discussion.default_db discussion = session.query(Discussion).get(int(discussion_id)) idea_data = json.loads(request.body) new_idea = Idea( short_title=idea_data['shortTitle'], long_title=idea_data['longTitle'], discussion=discussion, ) session.add(new_idea) if idea_data['parentId']: parent = Idea.get_instance(idea_data['parentId']) else: parent = discussion.root_idea session.add( IdeaLink(source=parent, target=new_idea, order=idea_data.get('order', 0.0))) session.flush() return {'ok': True, '@id': new_idea.uri()}
def create_idea(request): discussion_id = int(request.matchdict['discussion_id']) session = Discussion.default_db discussion = session.query(Discussion).get(int(discussion_id)) user_id = request.authenticated_userid permissions = get_permissions(user_id, discussion.id) idea_data = json.loads(request.body) kwargs = { "discussion": discussion } for key, attr_name in langstring_fields.iteritems(): if key in idea_data: ls_data = idea_data[key] if ls_data is None: continue assert isinstance(ls_data, dict) current = LangString.create_from_json( ls_data, user_id, permissions=permissions) kwargs[attr_name] = current new_idea = Idea(**kwargs) session.add(new_idea) if idea_data['parentId']: parent = Idea.get_instance(idea_data['parentId']) else: parent = discussion.root_idea session.add(IdeaLink(source=parent, target=new_idea, order=idea_data.get('order', 0.0))) session.flush() return {'ok': True, '@id': new_idea.uri()}
def create_idea(request): discussion = request.context session = discussion.db user_id = authenticated_userid(request) permissions = request.permissions idea_data = request.json_body now = datetime.utcnow() pub_state = None pub_flow = discussion.idea_publication_flow if pub_flow: pub_state_name = discussion.preferences['default_idea_pub_state'] pub_state = pub_flow.state_by_label(pub_state_name) kwargs = { "discussion": discussion, "creation_date": now, "pub_state": pub_state, "creator_id": user_id, } new_idea = Idea(**kwargs) session.add(new_idea) context = new_idea.get_instance_context(request=request) for key, attr_name in langstring_fields.items(): if key in idea_data: ls_data = idea_data[key] if ls_data is None: continue subcontext = new_idea.get_collection_context(key, context) current = LangString.create_from_json(ls_data, context=subcontext) setattr(new_idea, attr_name, current._instance) if idea_data['parentId']: parent = Idea.get_instance(idea_data['parentId']) else: parent = discussion.root_idea session.add( IdeaLink(source=parent, target=new_idea, creation_date=now, order=idea_data.get('order', 0.0))) session.flush() return {'ok': True, '@id': new_idea.uri()}
def create_idea(request): discussion_id = int(request.matchdict["discussion_id"]) session = Discussion.default_db discussion = session.query(Discussion).get(int(discussion_id)) idea_data = json.loads(request.body) new_idea = Idea(short_title=idea_data["shortTitle"], long_title=idea_data["longTitle"], discussion=discussion) session.add(new_idea) if idea_data["parentId"]: parent = Idea.get_instance(idea_data["parentId"]) else: parent = discussion.root_idea session.add(IdeaLink(source=parent, target=new_idea, order=idea_data.get("order", 0.0))) session.flush() return {"ok": True, "@id": new_idea.uri()}
def create_idea(request): discussion_id = int(request.matchdict['discussion_id']) session = Discussion.db() discussion = session.query(Discussion).get(int(discussion_id)) idea_data = json.loads(request.body) new_idea = Idea( short_title=idea_data['shortTitle'], long_title=idea_data['longTitle'], discussion=discussion, ) session.add(new_idea) if idea_data['parentId']: parent = Idea.get_instance(idea_data['parentId']) else: parent = discussion.root_idea session.add(IdeaLink(source=parent, target=new_idea, order=idea_data.get('order', 0.0))) session.flush() return {'ok': True, '@id': new_idea.uri()}
def create_idea(request): discussion_id = int(request.matchdict['discussion_id']) session = Discussion.default_db discussion = session.query(Discussion).get(int(discussion_id)) user_id = request.authenticated_userid permissions = get_permissions(user_id, discussion.id) idea_data = json.loads(request.body) kwargs = {"discussion": discussion} for key, attr_name in langstring_fields.iteritems(): if key in idea_data: ls_data = idea_data[key] if ls_data is None: continue assert isinstance(ls_data, dict) current = LangString.create_from_json(ls_data, user_id, permissions=permissions) kwargs[attr_name] = current new_idea = Idea(**kwargs) session.add(new_idea) if idea_data['parentId']: parent = Idea.get_instance(idea_data['parentId']) else: parent = discussion.root_idea session.add( IdeaLink(source=parent, target=new_idea, order=idea_data.get('order', 0.0))) session.flush() return {'ok': True, '@id': new_idea.uri()}