LINUX.ORG.RU

Redmine - доработка

 


0

1

Добрый день!

Возникла необходимость в некоторой доработки Redmine. В исходниках ориентируюсь слабо, поэтому если у кого-то будет возможность выложить примеры кода и место их добавления, будут очень признателен. Суть проблемы - есть куча проектов, задач в каждом проекте и приоритетов по задачам (сейчас сделано 10). Нужно ограничить возможность пользователей добавлять задачи с 1-м приоритетом, если в этом проекте уже есть задача с таким приоритетом. Также ограничить возможность восстановления задач с приоритетом, который уже занят другой задачей. Для последнего (10-го приоритета) ограничений по добавлению задач нет. Также не давать пользователю менять приоритет по задаче со статусом «в работе». Ничего другого, чтобы как-то регламентировать работу с пользователями придумать не удаётся. Если будут другие идеи - будут очень признателен.

Перемещено beastie из general


Ответ на: комментарий от anTaRes

Спасибо за ссылку! А можно простейший пример из 2-3 строк для чайников - как проверить, если ли в текущем проекте задача с таким приоритетом или нет?

Drunik
() автор топика
Ответ на: комментарий от Drunik

проще глянуть в код какогонть простого плагина, который выполняет похожую задачу

скорее всего нужно получить список открытых задач проекта и сравнить приоритеты с текущим

def controller_issues_edit_before_save (context={})
...
  task_pri = context[:issue].priority 
  prj_issues = Issues.find_by_project_id(context[:issue].project_id)

  # тут перебираем все таски и сравниваем
  # или, если есть возможность (ф-ция) найти таск по параметру - еще лучше
  # ну и выбрасываем соотв. месадж, если нашли
...
end

alias_method :controller_issues_new_before_save, :controller_issues_edit_before_save
примерно так, я не рубист и в редмайне давно ковырялся, это псевдокод

anTaRes ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.