def delete(self, id): session = Session() username = oidc.user_getfield('username') grant = session.query(RoleGrant).get(id) if not grant: json_abort(404) if not grant.topic.user == username: json_abort(403) session.delete(grant) session.commit() logger.debug(grant) return jsonify(grant)
def delete(self, id): session = Session() roles = oidc.user_getfield('cognito:groups') if oidc.user_getfield('cognito:groups') else [] topic = session.query(Topic).get(id) if topic: now = datetime.datetime.now() if now > topic.start_time: json_abort(403, "Voting started. Can't delete") if 'admin' not in roles: json_abort(403) topic = session.query(Topic).get(id) session.delete(topic) session.commit() logger.debug(topic.to_dict()) if not oidc.is_api_request(): url = url_for('api_topic', id=int(id)) data = { "url": url, "message": "Success. Redirecting to %s" % url } return jsonify(topic)
def delete(self, topic_id, id): session = Session() roles = oidc.user_getfield('cognito:groups') if oidc.user_getfield( 'cognito:groups') else [] username = oidc.user_getfield('username') kargs = request.get_json(silent=True) topic = session.query(Topic).get(topic_id) if not topic: json_abort(404, "Topic doesn't exist") now = datetime.datetime.now() if topic.start_time <= now and now <= topic.end_time: json_abort(403, "Voting already started. No changes allowed") grant = session.query(RoleGrant).filter( RoleGrant.topic_id == topic_id).filter( RoleGrant.role.in_(roles)).all() if 'admin' not in roles and not grant and topic.user != username: json_abort(403) option = session.query(TopicOption).get(id) session.delete(option) session.commit() logger.debug(option) return jsonify(option)
def post(self): session = Session() data = json.loads(self.request.body.decode('utf8')) ws = session.query(Workspace).get(data['wsId']) page = session.query(Page).filter_by( workspace=ws.id, url=data['url']).one() element_label = session.query(ElementLabel).filter_by( page=page.id, selector=data['selector']).one_or_none() if data.get('label') is not None: label = session.query(Label).filter_by( workspace=ws.id, text=data['label']).one() if element_label is None: element_label = ElementLabel( page=page.id, selector=data['selector'], label=label.id) else: element_label.label = label.id session.add(element_label) elif element_label is not None: session.delete(element_label) session.commit() self.write({'ok': True})
from models.module import LightModule from models.segment import Segment from models.strip import Strip from sqlalchemy.orm.exc import NoResultFound from config import Session session = Session() name='main module' try: m = session.query(LightModule).filter(LightModule.name==name).one() session.delete(m) except NoResultFound, e: pass m = LightModule(name="first pi lit", hostname="raspberrypi", location="lab") s1 = Segment(num_pixels=60, module_startpixel=0, forwards=False) s1.strip_startpixel=0 s2 = Segment(num_pixels=60, module_startpixel=64, forwards=True) s2.strip_startpixel=60 m.segments = [s1, s2] strip = Strip(length=124, name='main1') strip.segments = [s1, s2] session.add(m) m = LightModule(name="second pi lit", hostname="secondpilit", location="lab") s1 = Segment(num_pixels=64, module_startpixel=0, forwards=False) s1.strip_startpixel=0 s2 = Segment(num_pixels=64, module_startpixel=64, forwards=True) s2.strip_startpixel=64