示例#1
0
def get_project(wks_key, project_id):
    project = ProjectDetails.get_by_id(project_id)
    if project:
        if project.Wks == wks_key:
            return project
        return {'code': 403, 'message': "Project (" + str(project_id) + ") not part of workspace. Forbidden access."}
    return {'code': 404, 'message': "Project not found: " + str(project_id)}
示例#2
0
def check_project_access(projects_data, user_email, role):
    if role == "admin":
        return True
    if role == "manager":
        project = ProjectDetails.get_by_id(projects_data.key.id())
        user_id = AccountDetails.query(
            AccountDetails.email == user_email).get().key.id()
        if user_id in project.get_developers():
            return True
        if projects_data.project_manager == user_email:
            return True
    if role == "developer":
        project = ProjectDetails.get_by_id(projects_data.key.id())
        user_id = AccountDetails.query(
            AccountDetails.email == user_email).get().key.id()
        if user_id in project.get_developers():
            return True
    return False
示例#3
0
def create_task(project_id, Title, aMinutes, start, finish, Description,
                Skills, Developers):
    project = ProjectDetails.get_by_id(int(project_id))
    task_data = TaskDetails(
        Project=project.key,
        task_name=Title,
        task_description=Description,
        task_startdate=datetime.strptime(str(start), '%d/%m/%Y'),
        task_finishbydate=datetime.strptime(str(finish), '%d/%m/%Y'),
        task_skills=map(int, Skills),
        task_developers=map(int, Developers),
        task_aminutes=int(aMinutes),
        task_status="Open")
    if task_data.put():
        return True
    return False
示例#4
0
def get_project_data_by_id(project_id):
    return ProjectDetails.get_by_id(project_id)
示例#5
0
def delete_project(project_id):
    project = ProjectDetails.get_by_id(project_id)
    if project.delete():
        return True
    return False