示例#1
0
    def update_role(self, user_id, role):
        if not self.auth.guard("admin"):
            raise ActionDeniedError()

        if role == "owner":
            raise ActionDeniedError()

        if self.user.user_id == user_id:
            raise ActionDeniedError()

        return self.user.update_role(role, user_id)
示例#2
0
  def gen_zip(self, 
              project_id, 
              by_name=True, 
              workspace="/tmp", 
              title="photos_result", 
              needs_download_url=True, 
              needs_include_hierarchy=False, 
              needs_make_dir=True, 
              needs_date=False,
              char_enc="utf_8", 
              needs_all_photos=False):

    if not self.auth.guard("admin"):
      raise ActionDeniedError()
    return self.gen.gen_zip(
        project_id,
        by_name=by_name,
        workspace=workspace,
        title=title,
        needs_download_url=needs_download_url,
        needs_include_hierarchy=needs_include_hierarchy, 
        needs_make_dir=needs_make_dir,
        needs_date=needs_date,
        char_enc=char_enc,
        needs_all_photos=needs_all_photos
    )
示例#3
0
  def create(
      self, 
      template_type, 
      template_data, 
      name, 
      description,
      property_title,
      property_hierarchy,
      property_date):

    if not self.auth.guard("admin"):
      raise ActionDeniedError()

    if template_type == "user":
      parent_id = self.user_id
    elif template_type == "project":
      parent_id = self.project_id
    else:
      raise ValueError

    return self.tmpl.create(
        template_type=template_type, 
        template_data=template_data, 
        parent_id=parent_id, 
        name=name,
        description=description,
        property_title=property_title,
        property_hierarchy=property_hierarchy,
        property_date=property_date,
        base64enc=True
    )
示例#4
0
 def delete_place(self, place_id=None):
   if not self.auth.guard("admin"):
     raise ActionDeniedError()
   children = self.list_children(place_id)
   if children["places"] or children["targets"]:
     raise NotMeetRequirementsToDeleteError()
   return self.place.delete(place_id)
示例#5
0
  def get(self, template_id):
    if not self.auth.guard("admin"):
      raise ActionDeniedError()

    url = self.tmpl.get(
        template_id=template_id,
        needs_download_url=True
    )
    return {"download_url": url }
示例#6
0
  def list(self, user_id=None, project_id=None):
    if not self.auth.guard("admin"):
      raise ActionDeniedError()

    if not user_id:
      user_id = self.user_id
    if not project_id:
      project_id = self.project_id
    return self.tmpl.list(user_id, project_id)
示例#7
0
 def list_children(self, parent_place_id):
   if not self.auth.guard():
     raise ActionDeniedError()
   places = self.place.list_children(parent_place_id)
   targets = self.target.list_children(parent_place_id)
   return {
       "places": places,
       "targets": targets
   }
示例#8
0
  def gen_excel_doc(self, 
                    project_id, 
                    needs_sort=True, 
                    needs_include_hierarchy=False, 
                    needs_date=False,
                    needs_print_settings=False,
                    workspace="/tmp", 
                    template_id="basic_1.xlsx", 
                    title="photos_result", 
                    needs_download_url=True):

    if not self.auth.guard("admin"):
      raise ActionDeniedError()
    return self.gen.gen_excel_doc(
        project_id=project_id,
        needs_sort=needs_sort,
        needs_include_hierarchy=needs_include_hierarchy,
        needs_date=needs_date,
        needs_print_settings=needs_print_settings,
        template_id=template_id,
        title=title,
        needs_download_url=needs_download_url
    )
示例#9
0
 def gen_download_url(self, generated_file_id):
   if not self.auth.guard("admin"):
     raise ActionDeniedError()
   return self.gen.gen_download_url(generated_file_id)
示例#10
0
 def create_photo(self, target_id, type, data):
   if not self.auth.guard("reporter"):
     raise ActionDeniedError()
   return self.photo.create(target_id, type, data)
示例#11
0
 def reject_user(self, user_id):
     if not self.auth.guard("admin"):
         raise ActionDeniedError()
     return self.user.reject(user_id)
示例#12
0
 def show_user(self, user_id):
     if not self.auth.guard("admin"):
         raise ActionDeniedError()
     return self.user.show(user_id)
示例#13
0
 def show_place(self):
   if not self.auth.guard():
     raise ActionDeniedError()
   return self.place.show()
示例#14
0
 def update_place(self, name, place_id=None):
   if not self.auth.guard("worker"):
     raise ActionDeniedError()
   return self.place.update_name(name)
示例#15
0
 def show_photo(self, photo_id, encode=True):
   if not self.auth.guard():
     raise ActionDeniedError()
   return self.photo.show(photo_id, encode=encode)
示例#16
0
 def delete_photo(self, target_id, photo_id):
   if not self.auth.guard("admin"):
     raise ActionDeniedError()
   return self.photo.delete(target_id, photo_id)
示例#17
0
 def update_photo(self, target_id, type, photo_id):
   if not self.auth.guard("worker"):
     raise ActionDeniedError()
   return self.photo.update_adopt(target_id, type, photo_id)
示例#18
0
 def delete(self, template_id):
   if not self.auth.guard("admin"):
     raise ActionDeniedError()
   return self.tmpl.delete(template_id)
示例#19
0
 def list_users(self):
     if not self.auth.guard("admin"):
         raise ActionDeniedError()
     return self.user.list()
示例#20
0
 def create_target(self, name, place_id=None):
   if not self.auth.guard("worker"):
     raise ActionDeniedError()
   return self.target.create(name, place_id)
示例#21
0
 def delete_user(self, user_id):
     if not self.auth.guard("admin"):
         raise ActionDeniedError()
     return self.user.delete(user_id)
示例#22
0
 def delete_target(self, target_id):
   if not self.auth.guard("admin"):
     raise ActionDeniedError()
   return self.target.delete(target_id)
示例#23
0
 def update_target(self, name):
   if not self.auth.guard("worker"):
     raise ActionDeniedError()
   return self.target.update_name(name)
示例#24
0
 def show_target(self):
   if not self.auth.guard():
     raise ActionDeniedError()
   return self.target.show()