Дипломная работа: Автоматизация обработки заявок на примере МБУ "Центр активного отдыха и содействия занятости детей и молодежи"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
83
* документа"
*
* @param user Пользователь
* @return Результат проверки (да, нет)
*/
public Boolean testViewAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules = documentRuleCollection;
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId()) &&
rule.getAccessView())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessView())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) &&
rule.getAccessView())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) &&
rule.getAccessView())) {
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на просмотр текущего
* документа" (возвращает исключение)
84
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlViewAccess(User user) throws Exception {
if (testViewAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
* Метод проверки "Имеет ли пользователь разрешение на удаление текущего
* документа"
*
* @param user Пользователь
* @return Результат проверки
*/
public Boolean testDeleteAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId()) &&
rule.getAccessDelete())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessDelete())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) &&
rule.getAccessDelete())
85
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) &&
rule.getAccessDelete())) {
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на удаление текущего
* документа" (возвращает исключение)
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlDeleteAccess(User user) throws Exception {
if (testDeleteAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
* Метод проверки "Имеет ли пользователь разрешение на добавление
документа"
*
* @param user Пользователь
* @return Результат проверки
*/
public Boolean testInsetAccess(User user) {
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
86
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId()) &&
rule.getAccessInsert())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) && rule.getAccessInsert())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) &&
rule.getAccessInsert())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) &&
rule.getAccessInsert())) {
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на добавление
документа"
* (возвращает исключение)
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlInsertAccess(User user) throws Exception {
if (testInsetAccess(user) == false) {
throw new
Exception(ResourceBundle.getBundle("/resources/Bundle").getString("AccessDenied"));
}
}
/**
* Метод проверки "Имеет ли пользователь разрешение на обновление
документа"
*
* @param user Пользователь
* @return Результат проверки
*/
public Boolean testUpdateAccess(User user) {
87
if (user == null) {
return false;
}
if (locked == false) {
return true;
}
if (idUser.getId().equals(user.getId())) {
return true;
}
if (user.getIdUserType().getId().equals(1)) {
return true;
}
if (deleted == true) {
return false;
}
Collection<DocumentRule> rules = getDocumentRuleCollection();
for (DocumentRule rule : rules) {
if ((rule.getIdUser() != null && rule.getIdUser().getId().equals(user.getId()) &&
rule.getAccessUpdate())
|| (rule.getIdUserType() != null &&
rule.getIdUserType().getId().equals(user.getIdUserType().getId()) &&
rule.getAccessUpdate())
|| (rule.getIdDepartment() != null &&
rule.getIdDepartment().getId().equals(user.getIdDepartment().getId()) &&
rule.getAccessUpdate())
|| (rule.getIdUserFunction() != null &&
rule.getIdUserFunction().getId().equals(user.getIdUserFunction().getId()) &&
rule.getAccessUpdate())) {
return true;
}
}
return false;
}
/**
* Метод проверки "Имеет ли пользователь разрешение на обновление
документа"
* (возвращает исключение)
*
* @param user Пользователь
* @throws Exception Результат проверки
*/
public void controlUpdateAccess(User user) throws Exception {
if (testUpdateAccess(user) == false) {
Источник: https://baza.diplomsite.ru/previewfile/1879