Remove feature "Allow everybody to access to this project"
This commit is contained in:
@@ -111,22 +111,6 @@ class ProjectPermissionModel extends Base
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if everybody is allowed for the project
|
||||
*
|
||||
* @access public
|
||||
* @param integer $project_id Project id
|
||||
* @return bool
|
||||
*/
|
||||
public function isEverybodyAllowed($project_id)
|
||||
{
|
||||
return $this->db
|
||||
->table(ProjectModel::TABLE)
|
||||
->eq('id', $project_id)
|
||||
->eq('is_everybody_allowed', 1)
|
||||
->exists();
|
||||
}
|
||||
|
||||
/**
|
||||
* Return true if the user is allowed to access a project
|
||||
*
|
||||
|
||||
@@ -44,10 +44,7 @@ class ProjectUserRoleModel extends Base
|
||||
{
|
||||
$userProjects = $this->db
|
||||
->hashtable(ProjectModel::TABLE)
|
||||
->beginOr()
|
||||
->eq(self::TABLE.'.user_id', $user_id)
|
||||
->eq(ProjectModel::TABLE.'.is_everybody_allowed', 1)
|
||||
->closeOr()
|
||||
->in(ProjectModel::TABLE.'.is_active', $status)
|
||||
->join(self::TABLE, 'project_id', 'id')
|
||||
->getAll(ProjectModel::TABLE.'.id', ProjectModel::TABLE.'.name');
|
||||
@@ -70,15 +67,6 @@ class ProjectUserRoleModel extends Base
|
||||
*/
|
||||
public function getUserRole($project_id, $user_id)
|
||||
{
|
||||
$projectInfo = $this->db->table(ProjectModel::TABLE)
|
||||
->eq('id', $project_id)
|
||||
->columns('owner_id', 'is_everybody_allowed')
|
||||
->findOne();
|
||||
|
||||
if ($projectInfo['is_everybody_allowed'] == 1) {
|
||||
return $projectInfo['owner_id'] == $user_id ? Role::PROJECT_MANAGER : Role::PROJECT_MEMBER;
|
||||
}
|
||||
|
||||
$role = $this->db->table(self::TABLE)->eq('user_id', $user_id)->eq('project_id', $project_id)->findOneColumn('role');
|
||||
|
||||
if (empty($role)) {
|
||||
@@ -163,10 +151,6 @@ class ProjectUserRoleModel extends Base
|
||||
*/
|
||||
public function getAssignableUsers($project_id)
|
||||
{
|
||||
if ($this->projectPermissionModel->isEverybodyAllowed($project_id)) {
|
||||
return $this->userModel->getActiveUsersList();
|
||||
}
|
||||
|
||||
$userMembers = $this->db->table(self::TABLE)
|
||||
->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name')
|
||||
->join(UserModel::TABLE, 'id', 'user_id')
|
||||
|
||||
@@ -68,10 +68,6 @@ class UserNotificationModel extends Base
|
||||
*/
|
||||
public function getUsersWithNotificationEnabled($project_id, $exclude_user_id = 0)
|
||||
{
|
||||
if ($this->projectPermissionModel->isEverybodyAllowed($project_id)) {
|
||||
return $this->getEverybodyWithNotificationEnabled($exclude_user_id);
|
||||
}
|
||||
|
||||
$users = array();
|
||||
$members = $this->getProjectUserMembersWithNotificationEnabled($project_id, $exclude_user_id);
|
||||
$groups = $this->getProjectGroupMembersWithNotificationEnabled($project_id, $exclude_user_id);
|
||||
@@ -183,22 +179,4 @@ class UserNotificationModel extends Base
|
||||
->eq(UserModel::TABLE.'.is_active', 1)
|
||||
->findAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a list of project members with notification enabled
|
||||
*
|
||||
* @access private
|
||||
* @param integer $exclude_user_id User id to exclude
|
||||
* @return array
|
||||
*/
|
||||
private function getEverybodyWithNotificationEnabled($exclude_user_id)
|
||||
{
|
||||
return $this->db
|
||||
->table(UserModel::TABLE)
|
||||
->columns(UserModel::TABLE.'.id', UserModel::TABLE.'.username', UserModel::TABLE.'.name', UserModel::TABLE.'.email', UserModel::TABLE.'.language', UserModel::TABLE.'.notifications_filter')
|
||||
->eq('notifications_enabled', '1')
|
||||
->neq(UserModel::TABLE.'.id', $exclude_user_id)
|
||||
->eq(UserModel::TABLE.'.is_active', 1)
|
||||
->findAll();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user