コード例 #1
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def add_person_to_project(cls, username, password, project, person):
     """
     Adds an artist to the project
     :param username: name of project creator
     :param password: creator password
     :param person: the name of the user you want to add to the project
     :param project: project name
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     project = ProjectStorage.get_project(project)
     admin = UserStorage.get_user_by_name(username)
     person = UserStorage.get_user_by_name(person)
     if admin.password == password:
         if ProjectStorage.is_admin(admin, project) == 0:
             userlist = ProjectStorage.get_all_persons_in_project(project)
             have = False
             for i in userlist:
                 if i[0] == person.user_id:
                     have = True
             if not have:
                 ProjectStorage.add_person_to_project(person, project)
             else:
                 log.error(
                     "User {} is already exist in this project".format(
                         username))
                 raise UserAlreadyExistInProject
         else:
             log.error("You are not the Creator of the project")
             raise UAreNotAdmin
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #2
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def delete_person_from_project(cls, username, password, project, person):
     """
     The removal of the contractor from the project
     :param username: username of creator
     :param password: creator password
     :param person: person to delete
     :param project: project name
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     project = ProjectStorage.get_project(project)
     admin = UserStorage.get_user_by_name(username)
     person = UserStorage.get_user_by_name(person)
     if admin.password == password:
         if ProjectStorage.is_admin(admin, project) == 0:
             guys = ProjectStorage.get_all_persons_in_project(project)
             have = False
             if guys[0][0] == person.user_id:
                 log.error(
                     "User was tried to delete a creator of the project")
                 raise CannotDeleteCreator
             for i in range(len(guys)):
                 if guys[i][0] == person.user_id:
                     have = True
             if not have:
                 log.error("User is not exist")
                 raise UserIsNotExistInProject
             else:
                 ProjectStorage.delete_person_from_project(person, project)
         else:
             log.error("You are not the Creator of the project")
             raise UAreNotAdmin
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #3
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def su_delete_person_from_project(cls, username, password, person,
                                   project):
     """
     Delete all the workers from the project, you can also delete the project Creator
     :param username: name of creator
     :param password: creator password
     :param person: person to delete
     :param project: project name
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     project = ProjectStorage.get_project(project)
     admin = UserStorage.get_user_by_name(username)
     person = UserStorage.get_user_by_id(person)
     if admin.password == password:
         ProjectStorage.is_admin(admin, project)
         guys = ProjectStorage.get_all_persons_in_project(project)
         have = False
         for i in range(len(guys)):
             if guys[i][0] == person.user_id:
                 have = True
         if not have:
             log.error("User is not exist")
             raise UserIsNotExistInProject
         else:
             ProjectStorage.delete_person_from_project(person, project)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #4
0
ファイル: user.py プロジェクト: 0311snitch/TaskTracker
 def delete(cls, username, password):
     """
     Function to delete a user
     :param username: username of user to delete
     :param password: him password
     :return:
     """
     log = logger.get_logger(UserController.log_tag)
     user = UserStorage.get_user_by_name(username)
     if user.password == password:
         UserStorage.delete_user(username)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #5
0
ファイル: views.py プロジェクト: 0311snitch/takinata_lib
 def post(self, request, *args, **kwargs):
     form = SignUpForm(request.POST)
     response = redirect('tracker:home')
     error1 = ''
     if form.is_valid():
         raw_password = form.cleaned_data.get('password1')
         email = form.cleaned_data.get('email')
         users = UserStorage.get_all_users()
         have = False
         for u in users:
             if email == u.email:
                 have = True
                 error1 = "An account with this name is already registered"
         if not have:
             user = form.save()
             user.refresh_from_db()
             user.save()
             user = authenticate(username=user.username,
                                 password=raw_password)
             login(request, user)
             UserController.reg(user.username, user.password, email)
             response.set_cookie(key='have_account', value='1')
             return response
     return render(request, 'accounts/signup.html', {
         'form': form,
         'error1': error1
     })
コード例 #6
0
ファイル: user.py プロジェクト: 0311snitch/TaskTracker
 def reg(cls, username, password, email):
     """
     User registration with the specified data
     :param username: desired user name
     :param password: desired password
     :param email: desired e-mail
     :return:
     """
     log = logger.get_logger(UserController.log_tag)
     user = User(username, password, email)
     users = UserStorage.get_all_users()
     have = False
     for i in users:
         if i[0] == user.username:
             have = True
     if not have:
         UserStorage.add_user_to_db(user)
         return user
     else:
         log.error("User with this name is already exist")
         raise UserAlreadyExist
コード例 #7
0
ファイル: user.py プロジェクト: 0311snitch/TaskTracker
 def edit(cls, username, password, param, newparam):
     """
     Editing user information
     :param username: name of user
     :param password: password
     :param param: param you want to change (name/password)
     :param newparam: new value of param
     :return:
     """
     log = logger.get_logger(UserController.log_tag)
     user = UserStorage.get_user_by_name(username)
     oldname = user.username
     if user.password == password:
         if param == 'name':
             user.username = newparam
             UserStorage.set_username_for_user(user, oldname)
         elif param == 'password':
             user.password = newparam
             UserStorage.set_password_for_user(user)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #8
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def create(cls, username, password, name, description):
     """
     Create a project with a specified name and description
     :param username: user, who want to create a new project
     :param password: user password
     :param name: name of new project
     :param description: description of new project
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     user = UserStorage.get_user_by_name(username)
     if user.password == password:
         project = Project(name, description, user.user_id)
         ProjectStorage.add_project_to_db(project, user)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #9
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def edit_description(cls, username, password, project_name, new_desc):
     """
     Editing the project description
     :param username: name of project creator
     :param password: creator password
     :param project_name: name of the project to be changed
     :param new_desc: new description of project
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     person = UserStorage.get_user_by_name(username)
     project = ProjectStorage.get_project(project_name)
     if person.password == password:
         ProjectStorage.is_admin(person, project)
         project.description = new_desc
         ProjectStorage.save(project)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #10
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def delete(cls, username, password, name):
     """
     Deletes the project with the specified name
     :param username: user, creator of project
     :param password: user password
     :param name: name of project to delete
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     user = UserStorage.get_user_by_name(username)
     if user.password == password:
         project = ProjectStorage.get_project(name)
         ProjectStorage.check_permission(user, project)
         guys = ProjectStorage.get_all_persons_in_project(project)
         for i in guys:
             ProjectController.su_delete_person_from_project(
                 username, password, i, project.name)
         ProjectStorage.delete_with_object(project)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
コード例 #11
0
ファイル: project.py プロジェクト: 0311snitch/TaskTracker
 def show_all(cls, username, password):
     """
     Displays a list of all projects with the participants of these projects
     :param username:
     :param password:
     :return:
     """
     log = logger.get_logger(ProjectController.log_tag)
     user = UserStorage.get_user_by_name(username)
     new_list = []
     if user.password == password:
         project_list = ProjectStorage.show_all()
         for i in project_list:
             have = False
             guys = ProjectStorage.get_all_persons_in_project(i)
             for j in guys:
                 if user.user_id == j[0]:
                     have = True
             if have:
                 new_list.append(i)
     else:
         log.error("Incorrect password for {}".format(username))
         raise WrongPassword
     return new_list
コード例 #12
0
ファイル: user.py プロジェクト: 0311snitch/TaskTracker
 def create_table(cls):
     UserStorage.create_table()