Example #1
0
 def tx():
   db.delete(doc)
   scans = MediaObject.get(doc.pages)
   for scan in scans:
     scan.lacks_document = True
     scan.document = None
     db.put(scan)
Example #2
0
 def tx():
   db.delete(doc)
   scans = MediaObject.get(doc.pages)
   for scan in scans:
     user.media_objects -= 1
     db.delete(scan)
   db.put(user)
Example #3
0
 def get(self, docid):
     user_info = get_user_info()
     if user_info is None:
         self.redirect("/?error_message=%s" % "login required to view docs")
     docid = long(docid)
     doc = Document.get_by_id(docid, parent=user_info)
     if doc is None:
         self.response.out.write("Docid %d not found." % (docid))
         return
     pages = MediaObject.get(doc.pages)
     size = self.request.get("size")
     if not size:
         size = 1200
     show_single_list = long(size) > 600
     self.response.out.write(
         template.render(
             "doc.html",
             {
                 "doc": doc,
                 "pages": pages,
                 "user_info": user_info,
                 "size": size,
                 "show_single_list": show_single_list,
             },
             debug=True,
         )
     )
Example #4
0
def delete_doc_and_images(user, doc):
  """Deletes the document and its images."""
  scans = MediaObject.get(doc.pages)
  for scan in scans:
    blobstore.delete(scan.blob.key())
  def tx():
    db.delete(doc)
    scans = MediaObject.get(doc.pages)
    for scan in scans:
      user.media_objects -= 1
      db.delete(scan)
    db.put(user)
  db.run_in_transaction(tx)
  return True
Example #5
0
    def post(self):
        user_info = get_user_info()
        if user_info is None:
            self.redirect("/?error_message=%s" % "log-in required")
        scan_ids = self.request.get_all("media_id")
        scans = MediaObject.get(scan_ids)
        doc = Document(
            parent=user_info, owner=user_info, pages=[scan.key() for scan in scans], title=None, description=None
        )

        def make_doc():
            db.put(doc)
            for scan in scans:
                scan.lacks_document = False
                scan.document = doc.key()
                db.put(scan)

        db.run_in_transaction(make_doc)
        self.redirect(doc.display_url + "?size=1200")
Example #6
0
 def post(self):
   user_info = get_user_info()
   if user_info is None:
     self.redirect('/?error_message=%s' % 'log-in required')
   scan_ids = self.request.get_all("media_id")
   scans = MediaObject.get(scan_ids)
   doc = Document(
       parent=user_info,
       owner=user_info,
       pages=[scan.key() for scan in scans],
       title=None,
       description=None)
   def make_doc():
     db.put(doc)
     for scan in scans:
       scan.lacks_document = False
       scan.document = doc.key()
       db.put(scan)
   db.run_in_transaction(make_doc)
   self.redirect(doc.display_url + "?size=1200")
Example #7
0
 def get(self, docid):
   user_info = get_user_info()
   if user_info is None:
     self.redirect('/?error_message=%s' % 'login required to view docs')
   docid = long(docid)
   doc = Document.get_by_id(docid, parent=user_info)
   if doc is None:
     self.response.out.write("Docid %d not found." % (docid))
     return
   pages = MediaObject.get(doc.pages)
   size = self.request.get("size")
   if not size:
     size = 1200
   show_single_list = long(size) > 600
   self.response.out.write(template.render('doc.html',
                                           {"doc": doc,
                                            "pages": pages,
                                            "user_info": user_info,
                                            "size": size,
                                            "show_single_list": show_single_list},
                                           debug=True))