Пример #1
0
    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)
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
    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)