def save(self, paper_id, title, downloadurl, abstract, course_id, duedate): login = request.environ.get('repoze.who.identity')\ .get('repoze.who.userid') user = DBSession.query(User)\ .filter(User.user_name == login).one() course = DBSession.query(Course).filter(Course.id == int(course_id)).one() if paper_id != '': paper = DBSession.query(Paper)\ .filter(Paper.id == int(paper_id)).first() if not paper: redirect('/error', params=dict(msg="invalid paper")) if not self._can_view_paper(user, paper): redirect('/error', params=dict(msg="invalid permissions to view paper")) paper.name = str(title) paper.download_url = str(downloadurl) paper.abstract = str(abstract) paper.due_date = duedate else: paper = Paper() punctuation = { 0x2018:0x27, 0x2019:0x27, 0x201C:0x22, 0x201D:0x22 } paper.name = title.translate(punctuation).encode('ascii', 'replace') paper.download_url = downloadurl paper.abstract = abstract.encode('ascii', 'replace') paper.created_by = user.id paper.due_date = duedate paper.course_id = course_id DBSession.add(paper) DBSession.flush() redirect('/paper/view?paper_id=%i' % paper.id)
def setUp(self): """Prepare model test fixture.""" try: new_attrs = {} new_attrs.update(self.attrs) new_attrs.update(self.do_get_dependencies()) self.obj = self.klass(**new_attrs) DBSession.add(self.obj) DBSession.flush() return self.obj except: DBSession.rollback() raise
def setUp(self): """Prepare model test fixture.""" try: new_attrs = {} new_attrs.update(self.attrs) new_attrs.update(self.do_get_dependencies()) self.obj = self.klass(**new_attrs) DBSession.add(self.obj) DBSession.flush() return self.obj except: DBSession.rollback() raise
def save(self, paper_id, title, downloadurl, abstract, course_id, duedate): login = request.environ.get('repoze.who.identity')\ .get('repoze.who.userid') user = DBSession.query(User)\ .filter(User.user_name == login).one() course = DBSession.query(Course).filter( Course.id == int(course_id)).one() if paper_id != '': paper = DBSession.query(Paper)\ .filter(Paper.id == int(paper_id)).first() if not paper: redirect('/error', params=dict(msg="invalid paper")) if not self._can_view_paper(user, paper): redirect('/error', params=dict(msg="invalid permissions to view paper")) paper.name = str(title) paper.download_url = str(downloadurl) paper.abstract = str(abstract) paper.due_date = duedate else: paper = Paper() punctuation = { 0x2018: 0x27, 0x2019: 0x27, 0x201C: 0x22, 0x201D: 0x22 } paper.name = title.translate(punctuation).encode( 'ascii', 'replace') paper.download_url = downloadurl paper.abstract = abstract.encode('ascii', 'replace') paper.created_by = user.id paper.due_date = duedate paper.course_id = course_id DBSession.add(paper) DBSession.flush() redirect('/paper/view?paper_id=%i' % paper.id)