Ejemplo n.º 1
0
def project_search_page_config(submit_type):
    store_person = person_operations()
    currentUser = store_person.GetPerson(current_user.email)
    store = project_operations()
    projects = store.get_projects()
    store_followed = followed_project_operations()
    count = len(projects)
    for i in range(0, count):
        temp = list(projects[i])
        if not store_followed.GetFollowedProjectByPersonIdAndProjectId(
                currentUser[0], projects[i][0]):
            temp.append(False)
        else:
            temp.append(True)
        projects[i] = tuple(temp)
    if submit_type == 'GET':
        return render_template('projects/search_project.html',
                               projects=projects)
    else:
        if 'details' in request.form:
            key = request.form['details']
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'follow' in request.form:
            project_id = request.form['follow']
            followProject = FollowedProject(
                None, currentUser[0], project_id,
                '"+str(datetime.datetime.now())+"', False)
            store_followed.AddFollowedProject(followProject)
            return redirect(url_for('site.projects_search_page'))
        elif 'unfollow' in request.form:
            project_id = request.form['unfollow']
            delete_project = store_followed.GetFollowedProjectByPersonIdAndProjectId(
                currentUser[0], project_id)
            store_followed.DeleteFollowedProject(delete_project[0])
            return redirect(url_for('site.projects_search_page'))
Ejemplo n.º 2
0
def home_page_config(request):
    PersonProvider = person_operations()
    Current_Person = PersonProvider.GetPerson(current_user.email)
    store_worklogs = work_log_operations()
    store_projects = project_operations()
    TeamProvider = team_operations()
    FollowedProjectProvider = followed_project_operations()
    active_projects = store_projects.get_the_projects_of_a_person(
        person_operations.GetPerson(current_user, current_user.email)[0])
    count = 0
    while (count < len(active_projects)):
        temp = list(active_projects[count])
        temp.append(
            list(
                TeamProvider.GetAllMembersByProjectId(
                    active_projects[count][3])))
        temp.append(
            len(
                FollowedProjectProvider.
                GetFollowerPersonListByFollowedProjectId(
                    active_projects[count][3])))
        active_projects[count] = tuple(temp)
        count = count + 1
    worklogs = store_worklogs.GetFollowedProjectsWorkLogs(Current_Person[0])
    return render_template('dashboard.html',
                           worklogs=worklogs,
                           active_projects=active_projects)
Ejemplo n.º 3
0
def project_create_page_config(submit_type):
    if submit_type == 'GET':
        listProjectType = GetProjectType()
        listProjectThesisType = GetProjectThesisType()
        listDepartment = GetDepartment()
        listProjectStatusType = GetProjectStatusType()
        listManager = GetManagerList()
        return render_template('projects/create_project.html',
                               listProjectType=listProjectType,
                               listProjectThesisType=listProjectThesisType,
                               listDepartment=listDepartment,
                               listProjectStatusType=listProjectStatusType,
                               listManager=listManager)
    else:
        if 'Add' in request.form.values():
            store = project_operations()
            title = request.form['project_name']
            project_description = request.form['project_description']
            project_type = request.form['project_type']
            project_thesis_type = request.form['project_thesis_type']
            department = request.form['department']
            start_date = request.form['start']
            #start_date = None
            end_date = request.form['end_date']
            if end_date > str(
                    datetime.datetime.now()):  #ileri tarihte bitecekse
                project_status_type = 2
            else:  #süre bitmişse
                project_status_type = 3
            member_limit = request.form['limit']
            created_by = person_operations.GetPerson(
                current_user,
                current_user.email)[0]  #current_user proje oluşturuyor
            manager = request.form['project_manager']
            project = Project(None, title, project_description, project_type,
                              project_thesis_type, department,
                              project_status_type, start_date, end_date,
                              member_limit, None, created_by, manager)
            store.add_project(project)
            id = store.get_last()
            TeamProvider = team_operations()
            TeamProvider.AddTeam(id, manager, 'Manager')
            return redirect(url_for('site.home_page'))
Ejemplo n.º 4
0
def personal_default_page_config(request):
    PersonProvider = person_operations()
    Current_Person = PersonProvider.GetPerson(current_user.email)
    comments = personComment_operations()
    store_followed_projects = followed_project_operations()
    EducationProvider = education_operations()
    SkillProvider = skill_operations()
    InformationProvider = information_operations()
    LanguageProvider = language_operations()
    TeamProvider = team_operations()
    if request and 'delete' in request.form and request.method == 'POST':
        p = PersonProvider.GetPersonByObjectId(request.form['delete'])
        PersonProvider.DeletePerson(request.form['delete'])
    if request and 'deleteComment' in request.form and request.method == 'POST':
        comments.DeleteTeam(request.form['deleteComment'])
    elif request and 'updateComment' in request.form and request.method == 'POST':
        selectedComment = request.form['updateId']
        updatedComment = request.form['updateComment']
        comments.UpdatePersonComment(selectedComment, updatedComment)
    elif request and 'addComment' in request.form and request.method == 'POST':
        personId = Current_Person[0]
        commentedPersonId = Current_Person[0]
        newComment = request.form['addComment']
        comments.AddPersonComment(personId, commentedPersonId, newComment)
    elif 'unfollowProject' in request.form:
        project_id = request.form['unfollowProject']
        store_followed_projects.DeleteFollowedProject(project_id)
    elif request and 'searchPeoplePage' in request.form and request.method == 'POST':
        return redirect(url_for('site.people_search_person_page'))
    elif request and 'searchProjectPage' in request.form and request.method == 'POST':
        return redirect(url_for('site.projects_search_page'))
    elif request and 'saveProfileSettings' in request.form and request.method == 'POST':
        FollowedPersonProvider = followed_person_operations()
        listFollowing = FollowedPersonProvider.GetFollowedPersonListByPersonId(
            Current_Person[0])
        listFollowers = FollowedPersonProvider.GetFollowedPersonListByFollowedPersonId(
            Current_Person[0])
        personComments = comments.GetPersonCommentsByCommentedPersonId(
            Current_Person[0])
        listTitle = GetTitleList()
        listAccount = GetAccountTypeList()
        first_name = request.form['firstName']
        last_name = request.form['lastName']
        pswd = request.form['pswd']
        accountType = request.form['account']
        title = request.form['title']
        file = request.files['file']
        gender = request.form['r1']
        if gender == 'male':
            gender = False
        elif gender == 'female':
            gender = True
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            if filename != Current_Person[7]:
                file.save(os.path.join('static/user_images', filename))
            else:
                filename = Current_Person[7]
        elif Current_Person[7] is None:
            if gender:
                filename = 'noimage_female.jpg'
            else:
                filename = 'noimage_male.jpg'
        else:
            filename = Current_Person[7]
        if pswd != "":
            pswd = pwd_context.encrypt(request.form['pswd'])
            UpdateUser(pswd, current_user.email)
        PersonProvider.UpdatePerson(Current_Person[0], first_name, last_name,
                                    accountType, ' ', gender, title, filename,
                                    False)
        return redirect(
            url_for('site.personal_default_page',
                    Current_Person=Current_Person,
                    listFollowing=listFollowing,
                    listFollowers=listFollowers,
                    personComments=personComments,
                    listAccount=listAccount,
                    listTitle=listTitle))
    FollowedPersonProvider = followed_person_operations()
    listFollowing = FollowedPersonProvider.GetFollowedPersonListByPersonId(
        Current_Person[0])
    listFollowers = FollowedPersonProvider.GetFollowedPersonListByFollowedPersonId(
        Current_Person[0])
    personComments = comments.GetPersonCommentsByCommentedPersonId(
        Current_Person[0])
    followed_projects = store_followed_projects.GetFollowedProjectListByPersonId(
        Current_Person[0])
    count = 0
    while (count < len(followed_projects)):
        temp = list(followed_projects[count])
        temp.append(
            list(
                TeamProvider.GetAllMembersByProjectId(
                    followed_projects[count][8])))
        temp.append(
            len(
                store_followed_projects.
                GetFollowerPersonListByFollowedProjectId(
                    followed_projects[count][8])))
        followed_projects[count] = tuple(temp)
        count = count + 1
    now = datetime.datetime.now()
    listTitle = GetTitleList()
    listAccount = GetAccountTypeList()
    store_projects = project_operations()
    active_projects = store_projects.get_the_projects_of_a_person(
        Current_Person[0])
    count = 0
    while (count < len(active_projects)):
        temp = list(active_projects[count])
        temp.append(
            list(
                TeamProvider.GetAllMembersByProjectId(
                    active_projects[count][3])))
        temp.append(
            len(
                store_followed_projects.
                GetFollowerPersonListByFollowedProjectId(
                    active_projects[count][3])))
        active_projects[count] = tuple(temp)
        count = count + 1
    active_project_number = len(active_projects)
    listEducation = EducationProvider.GetEducationListByActiveCVAndByPersonId(
        Current_Person[0])
    listSkill = SkillProvider.GetSkillByActiveCVAndByPersonId(
        Current_Person[0])
    listLanguage = LanguageProvider.GetAllLanguagesByActiveCVAndByPersonId(
        Current_Person[0])
    listInformation = InformationProvider.get_all_information_by_ActiveCV_And_PersonId(
        Current_Person[0])
    CvProvider = cv_operations()
    activeCv = CvProvider.get_active_cv(Current_Person[0])
    ExperienceProvider = experience_operations()
    if activeCv:
        listExperience = ExperienceProvider.get_experiences_with_key(
            activeCv[0])
    else:
        listExperience = 'none'
    return render_template('personal/default.html',
                           current_time=now.ctime(),
                           Current_Person=Current_Person,
                           listFollowing=listFollowing,
                           listFollowers=listFollowers,
                           followed_projects=followed_projects,
                           personComments=personComments,
                           listAccount=listAccount,
                           listTitle=listTitle,
                           active_projects=active_projects,
                           active_project_number=active_project_number,
                           listEducation=listEducation,
                           listSkill=listSkill,
                           listExperience=listExperience,
                           listLanguage=listLanguage,
                           listInformation=listInformation)
Ejemplo n.º 5
0
def project_details_page_config(submit_type, key):
    store = project_operations()
    store_comments = project_comment_operations()
    store_worklogs = work_log_operations()
    PersonProvider = person_operations()
    teamList = team_operations()
    necessaryProject = store.get_project_member_limit(key)
    memberLimit = necessaryProject[0][0]
    followed_projects = followed_project_operations()
    current_person = PersonProvider.GetPerson(current_user.email)
    isFollow = followed_projects.GetFollowedProjectByPersonIdAndProjectId(
        current_person[0], key)
    if submit_type == 'GET':
        project = store.get_project(key)
        listManager = GetManagerList()
        project_comments = store_comments.get_project_comments(key)
        listPerson = PersonProvider.GetPersonList()
        members = teamList.GetAllMembersByProjectId(key)
        worklogs = store_worklogs.GetWorkLogByProjectId(key)
        current_user_objectid = person_operations.GetPerson(
            current_user, current_user.email)[
                0]  #current_userın person tablosundaki halinin objectidsi
        project_creator = project[8]  #projeyi oluşturan kişi
        return render_template('projects/project_details.html',
                               project=project,
                               project_comments=project_comments,
                               members=members,
                               worklogs=worklogs,
                               listManager=listManager,
                               isFollow=isFollow,
                               current_user_objectid=current_user_objectid,
                               project_creator=project_creator,
                               listPerson=listPerson)
    else:
        if 'addComment' in request.form:
            person_id = person_operations.GetPerson(current_user,
                                                    current_user.email)[0]
            commented_project_id = int(key)
            comment = request.form['project_comment']
            create_date = datetime.datetime.now()
            update_date = datetime.datetime.now()
            project_comment = ProjectComment(None, person_id,
                                             commented_project_id, comment,
                                             create_date, update_date)
            store_comments.add_project_comment(project_comment)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'update' in request.form:
            title = request.form['project_name']
            project_description = request.form['project_description']
            end_date = request.form['updated_date']
            member_limit = request.form['limit']
            manager = request.form['project_manager']
            deleted = '0'
            store.update_project(int(key), title, project_description,
                                 end_date, member_limit, manager, deleted)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'delete_project' in request.form:
            store.delete_project(int(key))
            return redirect(url_for('site.home_page'))
        elif 'delete' in request.form:
            comment_key = request.form['delete']
            store_comments.delete_project_comment(int(comment_key))
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'edit' in request.form:
            comment_key = request.form['edit']
            new_comment = request.form['newComment']
            store_comments.update_project_comment(comment_key, new_comment,
                                                  False)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'addMember' in request.form:
            teamMembers = request.form.getlist('teamMember')
            lengthOfLoop = len(teamMembers)
            howManyMembers = teamList.CountOfTeamsInProject(key)
            projectTeamMembers = howManyMembers[0]
            for x in range(0, lengthOfLoop):
                if projectTeamMembers >= memberLimit:
                    break
                newMemberDuty = request.form['addDuty']
                newMemberMemberId = teamMembers[x]
                newMemberProjectId = key
                triedMember = teamList.GetDutyByMemberId(
                    newMemberMemberId, key)
                lengthOfTried = len(triedMember)
                if lengthOfTried == 0:
                    projectTeamMembers += 1
                    teamList.AddTeam(newMemberProjectId, newMemberMemberId,
                                     newMemberDuty)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'updateMember' in request.form:
            newDuty = request.form['updatedMemberDuty']
            objectId = request.form['updatedMemberId']
            teamList.UpdateMemberDuty(objectId, newDuty)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'deleteMember' in request.form:
            deleteMemberId = request.form['deleteMember']
            teamList.DeleteTeam(deleteMemberId)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'addWorklog' in request.form:
            cretaorPersonId = person_operations.GetPerson(
                current_user, current_user.email)[0]
            projectId = key
            commitMessage = request.form['commitMessage']
            worklog = WorkLog(None, projectId, commitMessage,
                              ' "+str(datetime.datetime.now())+" ',
                              cretaorPersonId, False)
            store_worklogs.AddWorkLog(worklog)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'editWorklog' in request.form:
            worklog_id = request.form['editWorklog']
            new_log = request.form['new_log']
            store_worklogs.UpdateWorkLog(worklog_id, new_log)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'deleteWorklog' in request.form:
            worklog_id = request.form['deleteWorklog']
            store_worklogs.DeleteWorkLog(worklog_id)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'follow' in request.form:
            follow_project = FollowedProject(
                None, current_person[0], key,
                ' "+str(datetime.datetime.now())+" ', False)
            followed_projects.AddFollowedProject(follow_project)
            return redirect(url_for('site.projects_details_page', key=key))
        elif 'unfollow' in request.form:
            unfollow_project_id = followed_projects.GetFollowedProjectByPersonIdAndProjectId(
                current_person[0], key)[0]
            followed_projects.DeleteFollowedProject(unfollow_project_id)
            return redirect(url_for('site.projects_details_page', key=key))
Ejemplo n.º 6
0
def people_person_detail_page_config(request, key):
    PersonProvider = person_operations()
    CommentProvider = personComment_operations()
    Current_Person = PersonProvider.GetPerson(current_user.email)
    FollowedPersonProvider = followed_person_operations()
    CvProvider = cv_operations()
    ExperienceProvider = experience_operations()
    FollowedProjectProvider = followed_project_operations()
    EducationProvider = education_operations()
    SkillProvider = skill_operations()
    InformationProvider = information_operations()
    LanguageProvider = language_operations()
    TeamProvider = team_operations()
    if request and 'deleteComment' in request.form and request.method == 'POST':
        CommentProvider.DeleteTeam(request.form['deleteComment'])
    elif request and 'updateComment' in request.form and request.method == 'POST':
        selectedComment = request.form['updateId']
        updatedComment = request.form['updateComment']
        CommentProvider.UpdatePersonComment(selectedComment, updatedComment)
    elif request and 'addComment' in request.form and request.method == 'POST':
        newComment = request.form['addComment']
        CommentProvider.AddPersonComment(Current_Person[0], key, newComment)
    elif request and 'follow' in request.form and request.method == 'POST':
        toAdd = FollowedPerson(None, Current_Person[0], key, None, None)
        FollowedPersonProvider.AddFollowedPerson(toAdd)
    elif request and 'unfollow' in request.form and request.method == 'POST':
        toDeletedFollowedPerson = FollowedPersonProvider.GetFollowedPersonByPersonIdAndFollowedPersonId(
            Current_Person[0], key)
        FollowedPersonProvider.DeletePerson(toDeletedFollowedPerson[0])
    FollowedPersonProvider = followed_person_operations()
    Active_Person = PersonProvider.GetPersonByObjectId(key)
    listFollowing = FollowedPersonProvider.GetFollowedPersonListByPersonId(key)
    listFollowers = FollowedPersonProvider.GetFollowedPersonListByFollowedPersonId(
        key)
    personComments = CommentProvider.GetPersonCommentsByCommentedPersonId(key)
    IsFollow = FollowedPersonProvider.GetFollowedPersonByPersonIdAndFollowedPersonId(
        Current_Person[0], Active_Person[0])
    activeCv = CvProvider.get_active_cv(key)
    followed_projects = FollowedProjectProvider.GetFollowedProjectListByPersonId(
        key)
    count = 0
    while (count < len(followed_projects)):
        temp = list(followed_projects[count])
        temp.append(
            list(
                TeamProvider.GetAllMembersByProjectId(
                    followed_projects[count][8])))
        temp.append(
            len(
                FollowedProjectProvider.
                GetFollowerPersonListByFollowedProjectId(
                    followed_projects[count][8])))
        followed_projects[count] = tuple(temp)
        count = count + 1
    store_projects = project_operations()
    active_projects = store_projects.get_the_projects_of_a_person(key)
    count = 0
    while (count < len(active_projects)):
        temp = list(active_projects[count])
        temp.append(
            list(
                TeamProvider.GetAllMembersByProjectId(
                    active_projects[count][3])))
        temp.append(
            len(
                FollowedProjectProvider.
                GetFollowerPersonListByFollowedProjectId(
                    active_projects[count][3])))
        active_projects[count] = tuple(temp)
        count = count + 1
    active_project_number = len(active_projects)
    listEducation = EducationProvider.GetEducationListByActiveCVAndByPersonId(
        Active_Person[0])
    listSkill = SkillProvider.GetSkillByActiveCVAndByPersonId(Active_Person[0])
    listLanguage = LanguageProvider.GetAllLanguagesByActiveCVAndByPersonId(
        Active_Person[0])
    listInformation = InformationProvider.get_all_information_by_ActiveCV_And_PersonId(
        Active_Person[0])
    if activeCv:
        listExperience = ExperienceProvider.get_experiences_with_key(
            activeCv[0])
    else:
        listExperience = 'none'
    now = datetime.now()
    return render_template('people/person_detail.html',
                           current_time=now.ctime(),
                           Current_Person=Current_Person,
                           Active_Person=Active_Person,
                           listFollowing=listFollowing,
                           listFollowers=listFollowers,
                           personComments=personComments,
                           IsFollow=IsFollow,
                           followed_projects=followed_projects,
                           listExperience=listExperience,
                           active_projects=active_projects,
                           active_project_number=active_project_number,
                           listEducation=listEducation,
                           listSkill=listSkill,
                           listLanguage=listLanguage,
                           listInformation=listInformation)