Exemplo n.º 1
0
 def GET(self):
     if logged_in():
         res_cats = [i.resourcecat for i in model.get_resource_categories()]
         l = list(set(res_cats))
         return render.index(l)
     else:
         raise web.seeother('/login')
Exemplo n.º 2
0
 def GET(self, s=0):
     if not logged_in():
         raise web.seeother('/login')
     if not check_priv_lvl(2):
         return web.notfound("Insufficient privileges")
     form = self.form()
     d_list = (list(set([i.resourcecat for i in model.get_resource_categories() if i.resourcecat!='Archive'])))
     msg=None
     if s>0:
         msg = "Upload Successful"
     return render.upload(form, d_list, msg)
Exemplo n.º 3
0
    def POST(self):

        if not check_priv_lvl(2):
            return web.notfound("Insufficient privileges")
        form = self.form()
        i = web.input(userfile={})
        web.debug(i['userfile'].filename)
        web.debug(i['userfile'])
        #define user resource directory
        user_resource_dir = 'static/resources/' + str(session.cin) + '/'
        #check if user added a file
        if 'userfile' in i:
            #Ensure any windows separators are replaced to *nix style separators
            filepath = i.userfile.filename.replace('\\','/')
            #Get file name from path
            filename = filepath.split('/')[-1]
            logger.info('Open file to write')
            try:
                #Construct a path for the file to be saved in
                if not ospath.exists(user_resource_dir):
                    os.mkdir(user_resource_dir)
                fout = open(user_resource_dir + filename,'wb')
                logger.info('Write upoloaded file to local file')
                logger.debug('Filename: %s', filename)
                #Write a copy of the submitted file to the server
                fout.write(i.userfile.file.read())
                fout.close()
                logger.info('Get filetype')
                dotindex = filename.find('.')
                if dotindex < 0:
                    ftype = 'doc'
                else:
                    ftype = filename[dotindex:]
                    #Add resource path to database
                    logger.info('Add file to database')
                    logger.debug('Cin: %d, Ftype: %s, Category: %s, \
                            filename: %s, user privilege: %d', session.cin, ftype, \
                            i.category, filename, session.priv)

                model.add_resource(session.cin, ftype,
                        i.category, filename, 0)
                logger.info('Upload successful!')
                raise web.seeother('/upload/1')
            except IOError:
                logger.info('Upload Failed!')
                #Just pass and reload page with "Upload Failed"
                pass
        d_list = (list(set([i.resourcecat for i in model.get_resource_categories() if i.resourcecat!='Archive'])))
        return render.upload(form, d_list, "Upload failed!")
Exemplo n.º 4
0
 def GET(self):
     if logged_in():
         res_cats = model.get_resource_categories()
         return render.index(res_cats)
     else:
         raise web.seeother('/login')