|
|
|
@@ -1,6 +1,10 @@ |
|
|
|
from models.database import db |
|
|
|
import logging |
|
|
|
import mysql.connector |
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
|
|
|
def get_categories(): |
|
|
|
""" |
|
|
|
Get all categories |
|
|
|
@@ -14,7 +18,7 @@ def get_categories(): |
|
|
|
cursor.execute(query) |
|
|
|
categories = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
categories = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -23,6 +27,7 @@ def get_categories(): |
|
|
|
db.close() |
|
|
|
return categories |
|
|
|
|
|
|
|
|
|
|
|
def set_project(categoryid, userid, project_title, project_description, project_status): |
|
|
|
""" |
|
|
|
Store a project in the database |
|
|
|
@@ -48,7 +53,7 @@ def set_project(categoryid, userid, project_title, project_description, project_ |
|
|
|
users_projects = get_projects_by_owner(userid) |
|
|
|
projectid = users_projects[-1][0] |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
projectid = None |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -57,6 +62,7 @@ def set_project(categoryid, userid, project_title, project_description, project_ |
|
|
|
db.close() |
|
|
|
return projectid |
|
|
|
|
|
|
|
|
|
|
|
def get_project_by_id(projectid): |
|
|
|
""" |
|
|
|
Retrieve a project by its id |
|
|
|
@@ -72,7 +78,7 @@ def get_project_by_id(projectid): |
|
|
|
cursor.execute(query, (projectid,)) |
|
|
|
project = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
project = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -81,6 +87,7 @@ def get_project_by_id(projectid): |
|
|
|
db.close() |
|
|
|
return project[0] |
|
|
|
|
|
|
|
|
|
|
|
def update_project_status(projectid, status): |
|
|
|
""" |
|
|
|
Change the status of a selected project |
|
|
|
@@ -96,13 +103,14 @@ def update_project_status(projectid, status): |
|
|
|
cursor.execute(query, (status, projectid)) |
|
|
|
db.commit() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
cursor.close() |
|
|
|
db.close() |
|
|
|
|
|
|
|
|
|
|
|
def get_user_permissions(userid, projectid): |
|
|
|
""" |
|
|
|
Get permissions for a selected users in a specific project |
|
|
|
@@ -120,7 +128,7 @@ def get_user_permissions(userid, projectid): |
|
|
|
cursor.execute(query, (projectid, userid)) |
|
|
|
permissions = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
@@ -154,7 +162,7 @@ def get_projects_by_status_and_category(categoryid, project_status): |
|
|
|
cursor.execute(query, (project_status, categoryid)) |
|
|
|
projects = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
projects = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -178,7 +186,7 @@ def get_projects_by_owner(userid): |
|
|
|
cursor.execute(query, (userid,)) |
|
|
|
projects = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
projects = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -206,7 +214,7 @@ def get_projects_by_status_and_owner(userid, project_status): |
|
|
|
cursor.execute(query, (project_status, userid)) |
|
|
|
projects = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
projects = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -230,12 +238,11 @@ def get_projects_by_participant_and_status(userid, project_status): |
|
|
|
cursor = db.cursor() |
|
|
|
query = ("SELECT * FROM projects, projects_users WHERE projects.project_status = %s AND " + |
|
|
|
"projects_users.userid = %s AND projects_users.projectid = projects.projectid") |
|
|
|
db.connect() |
|
|
|
try: |
|
|
|
cursor.execute(query, (project_status, userid)) |
|
|
|
projects = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
projects = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -266,7 +273,7 @@ def set_task(projectid, task_title, task_description, budget): |
|
|
|
cursor.execute(query, (projectid, task_title, task_description, budget)) |
|
|
|
db.commit() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
@@ -282,7 +289,7 @@ def update_task_status(taskid, status): |
|
|
|
cursor.execute(query, (status, taskid)) |
|
|
|
db.commit() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
@@ -305,7 +312,7 @@ def get_tasks_by_project_id(projectid): |
|
|
|
cursor.execute(query, (projectid,)) |
|
|
|
tasks = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
tasks = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -331,7 +338,7 @@ def set_task_file(taskid, filename): |
|
|
|
cursor.execute(query, (taskid, filename)) |
|
|
|
db.commit() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
@@ -353,7 +360,7 @@ def get_task_files(taskid): |
|
|
|
cursor.execute(query, (str(taskid),)) |
|
|
|
filenames = cursor.fetchall() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
filenames = [] |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
@@ -384,7 +391,7 @@ def set_projects_user(projectid, userid, read_permission="TRUE", |
|
|
|
cursor.execute(query, (projectid, userid, read_permission, write_permission, modify_permission)) |
|
|
|
db.commit() |
|
|
|
except mysql.connector.Error as err: |
|
|
|
print("Failed executing query: {}".format(err)) |
|
|
|
logger.error("Failed executing query: %s", err) |
|
|
|
cursor.fetchall() |
|
|
|
exit(1) |
|
|
|
finally: |
|
|
|
|