Explorar el Código

Create project with users

https
jakobsn hace 6 años
padre
commit
9ca6e35050
Se han modificado 4 ficheros con 44 adiciones y 42 borrados
  1. +1
    -1
      mysql/sql/init.sql
  2. +1
    -1
      src/app/models/login.py
  3. +5
    -5
      src/app/models/project.py
  4. +37
    -35
      src/app/views/new_project.py

+ 1
- 1
mysql/sql/init.sql Ver fichero

@@ -65,7 +65,7 @@ CREATE TABLE projects (
FOREIGN KEY (userid) REFERENCES users(userid)
);

CREATE TABLE project_users (
CREATE TABLE projects_users (
projectid INT UNSIGNED NOT NULL,
userid INT UNSIGNED NOT NULL,
read_permission BOOLEAN,


+ 1
- 1
src/app/models/login.py Ver fichero

@@ -16,7 +16,7 @@ def get_user_id_by_name(username):
cursor = db.cursor()
query = ("SELECT userid from users WHERE username =\"" + username + "\"")
cursor.execute(query)
userid = cursor.fetchall()
userid = cursor.fetchall()[0][0]
cursor.close()
return userid



+ 5
- 5
src/app/models/project.py Ver fichero

@@ -160,12 +160,12 @@ def get_task_files(taskid):
cursor.close
return filenames

def set_project_user(projectid, userid, read_permission="TRUE",
def set_projects_user(projectid, userid, read_permission="TRUE",
write_permission="NULL", modify_permission="NULL"):
cursor = db.cursor()
query = ("INSERT INTO project_users VALUES (\"" + project_id + "\", \"" +
userid + "\", \"" + read_permission + "\", \"" +
write_permission + "\", \"" + modify_permission + "\"")
query = ("INSERT INTO projects_users VALUES (\"" + projectid + "\", \"" +
userid + "\", " + read_permission + ", " +
write_permission + ", " + modify_permission + ")")
cursor.execute(query)
df.commit()
db.commit()
cursor.close()

+ 37
- 35
src/app/views/new_project.py Ver fichero

@@ -47,47 +47,49 @@ class New_project:
project_form = self.compose_form(data, "remove_task")
return render.new_project(nav, project_form)
except Exception as e:

try:
# Post the form data and save the project in the database
if data["Create Project"]:
projectid = models.project.set_project(data.category_name, str(session.userid),
data.project_title, data.project_description, "open")
task_count = self.get_task_count(data)
user_count = self.get_user_count(data)
# Save the tasks in the database
for i in range(0, task_count):
models.project.set_task(str(projectid), (data["task_title_" + str(i)]),
(data["task_description_" + str(i)]), (data["budget_" + str(i)]))
for i in range(0, user_count):
userid = models.login.get_user_id_by_name(data["user_name_"+str(i)])
read, write, modify = "FALSE"
try:
if data["read_permission_"str(i)]:
read = "TRUE"
except Exception as e:
try:
if data["write_permission_"str(i)]:
write = "TRUE"
except Exception as e:
try:
if data["modify_permission_"str(i)]:
modify = "TRUE"
models.project.set_project_user(str(projectid), str(userid), )
raise web.seeother('/')
if data["Add User"]:
project_form = self.compose_form(data, "add_user")
return render.new_project(nav, project_form)
except Exception as e:
try:
if data["Add User"]:
project_form = self.compose_form(data, "add_user")
return render.new_project(nav, project_form)
if data["Remove User"]:
project_form = self.compose_form(data, "remove_user")
return render.new_project(nav, project_form)
except Exception as e:
try:
if data["Remove User"]:
project_form = self.compose_form(data, "remove_user")
return render.new_project(nav, project_form)
# Post the form data and save the project in the database
if data["Create Project"]:
projectid = models.project.set_project(data.category_name, str(session.userid),
data.project_title, data.project_description, "open")
task_count = self.get_task_count(data)
user_count = self.get_user_count(data)
# Save the tasks in the database
for i in range(0, task_count):
models.project.set_task(str(projectid), (data["task_title_" + str(i)]),
(data["task_description_" + str(i)]), (data["budget_" + str(i)]))
for i in range(0, user_count):
userid = models.login.get_user_id_by_name(data["user_name_"+str(i)])
read, write, modify = "FALSE", "FALSE", "FALSE"
try:
if data["read_permission_"+str(i)]:
read = "TRUE"
except Exception as e:
try:
if data["write_permission_"+str(i)]:
write = "TRUE"
except Exception as e:
try:
if data["modify_permission_"+str(i)]:
modify = "TRUE"
except Exception as e:
# This error will be raised if no permission is set
raise e
models.project.set_projects_user(str(projectid), str(userid), read, write, modify)
raise web.seeother('/')
except Exception as e:
raise e
raise e
def get_task_count(self, data):
"""


Cargando…
Cancelar
Guardar