소스 검색

polish

https
jakobsn 6 년 전
부모
커밋
d44735afff
5개의 변경된 파일31개의 추가작업 그리고 26개의 파일을 삭제
  1. +1
    -1
      mysql/sql/init.sql
  2. +2
    -2
      src/app/models/database.py
  3. +1
    -0
      src/app/templates/project.html
  4. +1
    -1
      src/app/views/app.py
  5. +26
    -22
      src/app/views/project.py

+ 1
- 1
mysql/sql/init.sql 파일 보기

@@ -143,4 +143,4 @@ Create default database user


CREATE USER 'root'@'10.5.0.6' IDENTIFIED BY 'root'; CREATE USER 'root'@'10.5.0.6' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON db.* TO 'root'@'10.5.0.6'; GRANT ALL PRIVILEGES ON db.* TO 'root'@'10.5.0.6';
GRANT ALL PRIVILEGES ON db.* TO 'root'@'localhost';
/*GRANT ALL PRIVILEGES ON db.* TO 'root'@'localhost';*/

+ 2
- 2
src/app/models/database.py 파일 보기

@@ -8,8 +8,8 @@ preconfigured docker container address use the Docker address. The default port
db = mysql.connector.connect( db = mysql.connector.connect(
user='root', user='root',
password='root', password='root',
#host='10.5.0.5', # Docker address
host='0.0.0.0', # Local address
host='10.5.0.5', # Docker address
#host='0.0.0.0', # Local address
database='db' database='db'
) )

+ 1
- 0
src/app/templates/project.html 파일 보기

@@ -31,6 +31,7 @@ $def with (nav, project_form, project, tasks, permissions, categories)
<h3>Task: $task[2]</h3> <h3>Task: $task[2]</h3>
<p>Description: $task[3]</p> <p>Description: $task[3]</p>
<p>Budget: $task[4]</p> <p>Budget: $task[4]</p>
<p>Status: $task[5]</p>
$if project[5] != "open": $if project[5] != "open":
$for filename in get_task_files(task[0]): $for filename in get_task_files(task[0]):
<a href="$filename[0]" download>$filename[0].split("/")[-1]</a> <a href="$filename[0]" download>$filename[0].split("/")[-1]</a>


+ 1
- 1
src/app/views/app.py 파일 보기

@@ -31,7 +31,7 @@ app = web.application(urls, globals())
render = web.template.render('templates/') render = web.template.render('templates/')


# Set session timeout # Set session timeout
web.config.session_parameters['timeout'] = None
web.config.session_parameters['timeout'] = 10000000


# Workaround to use sessions with reloader (debugger) http://webpy.org/cookbook/session_with_reloader # Workaround to use sessions with reloader (debugger) http://webpy.org/cookbook/session_with_reloader
if web.config.get('_session') is None: if web.config.get('_session') is None:


+ 26
- 22
src/app/views/project.py 파일 보기

@@ -44,13 +44,38 @@ class Project:
def POST(self): def POST(self):
# Get session # Get session
session = web.ctx.session session = web.ctx.session

data = web.input(myfile={}, deliver=None, accepted=None, declined=None, projectid=0) data = web.input(myfile={}, deliver=None, accepted=None, declined=None, projectid=0)
fileitem = data['myfile'] fileitem = data['myfile']
permissions = models.project.get_user_permissions(str(session.userid), data.projectid) permissions = models.project.get_user_permissions(str(session.userid), data.projectid)
categories = models.project.get_categories() categories = models.project.get_categories()
tasks = models.project.get_tasks_by_project_id(data.projectid) tasks = models.project.get_tasks_by_project_id(data.projectid)


# Upload file (if present)
try:
if fileitem.filename:
# Check if user has write permission
if not permissions[1]:
raise web.seeother(('/project?projectid=' + data.projectid))

fn = fileitem.filename
# Create the project directory if it doesnt exist
path = 'static/project' + data.projectid
if not os.path.isdir(path):
command = 'mkdir ' + path
os.popen(command)
sleep(0.2)
path = path + '/task' + data.taskid
if not os.path.isdir(path):
command = 'mkdir ' + path
os.popen(command)
sleep(0.2)
open(path + '/' + fn, 'wb').write(fileitem.file.read())
models.project.set_task_file(data.taskid, (path + "/" + fn))
except:
# Throws exception if no file present
pass

# Determine status of the targeted task # Determine status of the targeted task
all_tasks_accepted = True all_tasks_accepted = True
task_waiting = False task_waiting = False
@@ -82,27 +107,6 @@ class Project:
# Decline task delivery # Decline task delivery
elif data.declined: elif data.declined:
models.project.update_task_status(data.taskid, "declined") models.project.update_task_status(data.taskid, "declined")

# Upload file
elif fileitem.filename:
# Check if user has write permission
if not permissions[1] or not task_waiting:
raise web.seeother(('/project?projectid=' + data.projectid))

fn = fileitem.filename
# Create the project directory if it doesnt exist
path = 'static/project' + data.projectid
if not os.path.isdir(path):
command = 'mkdir ' + path
os.popen(command)
sleep(0.2)
path = path + '/task' + data.taskid
if not os.path.isdir(path):
command = 'mkdir ' + path
os.popen(command)
sleep(0.2)
open(path + '/' + fn, 'wb').write(fileitem.file.read())
models.project.set_task_file(data.taskid, (path + "/" + fn))
raise web.seeother(('/project?projectid=' + data.projectid)) raise web.seeother(('/project?projectid=' + data.projectid))



불러오는 중...
취소
저장