예전 버전에서는 일감의 진척도를 입력할 때, "1" 단위로 올라가게 되었었는데, 현재는 "10"단위로 올라간다.
(내 착각일 수도 있긴 하다)
그런데, 회사내에서 Gantt Chart 그리기 귀찮아서 이 Redmine을 사용하려는데, 저 Progress를 억지로 변경해서 적용해야 할 일이 생겼다. 하위 작업에서 계산하는 식에서는 큰 문제가 안되는데, 일감 하나로 Gantt 차트를 그렸더니, 10% 씩 올라가서는 값을 조정하기가 매우 힘들었다. 별 진척이 없어 1%만 올리려다 보니, 안되었다.
그래서 10% 단위를 1% 단위로 변경하는 방법을 고민을 했는데, 결국 Redmine의 소스를 수정하게 되었다.
일단 여기의 Redmine은 Docker를 기반으로 만들어져 있으며, sameersbn/redmine:3.4.13-2 버전으로 된 내용을 업데이트한 것이다. 만일 직접 다운 받아 설치했거나, 다른 패키지를 통해 설치된 것이면 그에 맞게 경로나 위치를 파악하여 해당 소스를 수정하면 된다.(버전이 다른 경우 다른 파일일 수도 있다.)
/home/redmine/redmine/app/views/issue_statuses
경로로 이동한다.
그리고 다음 명령을 넣어 편집기를 띄운다.
vi _form.html.erb
그럼 다음과 같은 소스를 볼 수 있는데,
이 중 6번째 줄 부분을 수정하는 것이다.
다음과 같이 수정하면 된다.
<p><%= f.select :default_done_ratio, ((0..100).to_a.collect {|r| ["#{r} %", r] }), :include_blank => true, :label => :field_done_ratio %></p>
즉 0 ~ 10 까지 도는 것을 0~100 으로, 그리고 0~10까지 돌면서 값에서 10을 곱했던 부분을 없애버린 정도.
다음은 issues 쪽이다.
/home/redmine/redmine/app/views/issues
이제 _attributes.html.erb 파일을 연다.
vi _attributes.html.erb
항목 중 다음과 같은 부분을 찾는다.(대략 90라인 정도?)
<p><%= f.select :done_ratio, ((0..10).to_a.collect {|r| ["#{r*10} %", r*10] }), :required => @issue.required_attribute?('done_ratio') %></p>
위의 내용과 동일하게 수정해준다.
<p><%= f.select :done_ratio, ((0..100).to_a.collect {|r| ["#{r} %", r] }), :required => @issue.required_attribute?('done_ratio') %></p>
나중에 버전업을 하면 위의 코드가 원복 될 것 같긴 하지만, 일단, 위와 같이 수정하면 된다.
단, 수정 후 Redmine의 Application 서버를 재시작해주어야 적용된다.
결론을 내자면 두군데만 수정하면 된다.
/redmine/app/views/issue_statuses/_form.html.erb
/redmine/app/views/issues/_attributes.html.erb