app/models/issue.rb | 4 ++- public/images/brick_add.png | Bin 0 -> 729 bytes public/images/bug.png | Bin 0 -> 774 bytes public/images/clock.png | Bin 0 -> 882 bytes public/images/clock_red.png | Bin 0 -> 889 bytes public/images/issue.png | Bin 0 -> 649 bytes public/images/lock.png | Bin 0 -> 749 bytes public/images/page_white.png | Bin 0 -> 294 bytes public/images/shield.png | Bin 0 -> 702 bytes public/stylesheets/application.css | 61 +++++++++++++++++++++++++++++++++++++ 10 files changed, 64 insertions(+), 1 deletion(-) diff --git a/app/models/issue.rb b/app/models/issue.rb index ce1fa75..988a0ca 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -961,8 +961,10 @@ class Issue < ActiveRecord::Base # Returns a string of css classes that apply to the issue def css_classes - s = "issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}" + s = "issue tracker-#{tracker_id} tracker-#{tracker.name.downcase} status-#{status_id} status-#{status.name.downcase} #{priority.try(:css_classes)}" + s << ' open' unless closed? s << ' closed' if closed? + s << ' timed' unless due_date.blank? s << ' overdue' if overdue? s << ' child' if child? s << ' parent' unless leaf? diff --git a/public/images/brick_add.png b/public/images/brick_add.png new file mode 100644 index 0000000..fac186b Binary files /dev/null and b/public/images/brick_add.png differ diff --git a/public/images/bug.png b/public/images/bug.png new file mode 100644 index 0000000..2d5fb90 Binary files /dev/null and b/public/images/bug.png differ diff --git a/public/images/clock.png b/public/images/clock.png new file mode 100644 index 0000000..e2672c2 Binary files /dev/null and b/public/images/clock.png differ diff --git a/public/images/clock_red.png b/public/images/clock_red.png new file mode 100644 index 0000000..2842cc3 Binary files /dev/null and b/public/images/clock_red.png differ diff --git a/public/images/issue.png b/public/images/issue.png new file mode 100644 index 0000000..779ad58 Binary files /dev/null and b/public/images/issue.png differ diff --git a/public/images/lock.png b/public/images/lock.png new file mode 100644 index 0000000..2ebc4f6 Binary files /dev/null and b/public/images/lock.png differ diff --git a/public/images/page_white.png b/public/images/page_white.png new file mode 100644 index 0000000..8b8b1ca Binary files /dev/null and b/public/images/page_white.png differ diff --git a/public/images/shield.png b/public/images/shield.png new file mode 100644 index 0000000..3cb4e25 Binary files /dev/null and b/public/images/shield.png differ diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 31e56b8..b613ae4 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -146,6 +146,67 @@ tr.project.idnt-7 td.name {padding-left: 9.5em;} tr.project.idnt-8 td.name {padding-left: 11em;} tr.project.idnt-9 td.name {padding-left: 12.5em;} +/* Issue priority colors */ +/* default */ +tr.issue.odd td, tr.issue.even td{color:#484848; padding: 5px;} +tr.issue.context-menu-selection.odd td, tr.issue.context-menu-selection.even td{color:#F8F8F8; padding: 5px;} +/* special color fields */ +tr.issue.odd td.priority, tr.issue.even td.priority, +tr.issue.odd td.status, tr.issue.even td.status{color:#484848;} + +/* low */ +tr.issue.odd.priority-1 td.priority{background: #d6ffd0; border-color: #a5d690;} +tr.issue.even.priority-1 td.priority{background: #e2ffde; border-color: #a5d690;} +/* normal */ +tr.issue.odd.priority-2 td.priority{background: #eaf7ff; border-color: #add7f3;} +tr.issue.even.priority-2 td.priority{background: #f2faff; border-color: #add7f3;} +/* high */ +tr.issue.odd.priority-3 td.priority{background: #fffbca; border-color: #d7d290;} +tr.issue.even.priority-3 td.priority{background: #fffcdb;border-color: #d7d290;} +/* urgent */ +tr.issue.odd.priority-4 td.priority{background-color: #FF9999; border-color:#FF8888;} +tr.issue.even.priority-4 td.priority{background-color: #FFBBBB; border-color:#FFA0A0;} +/* immediate */ +tr.issue.odd.priority-5 td.priority{background-color: #FF9999; border-color: #FF8888; font-weight: bold;} +tr.issue.even.priority-5 td.priority{background-color: #FFBBBB; border-color: #FFA0A0; font-weight: bold;} + +/* Issue status colors */ +/* new */ +tr.issue.odd.status-1 td.status{background: #eaf7ff; font-weight: bold; border-color: #add7f3;} +tr.issue.even.status-1 td.status{background: #f2faff; font-weight: bold; border-color: #add7f3;} +/* in progress */ +tr.issue.odd.status-2 td.status{background: #fffbca; border-color: #d7d290;} +tr.issue.even.status-2 td.status{background: #fffcdb; border-color: #d7d290;} +/* resolved */ +tr.issue.odd.status-3 td.status{background: #d6ffd0; border-color: #a5d690; font-style: italic;} +tr.issue.even.status-3 td.status{background: #e2ffde; border-color: #a5d690; font-style: italic;} +/* feedback */ +tr.issue.odd.status-4 td.status{background: #d6ffd0; border-color: #a5d690;} +tr.issue.even.status-4 td.status{background: #e2ffde; border-color: #a5d690;} +/* closed */ +tr.issue.odd.status-5 td.status{background: #d6ffd0; font-weight:bold; border-color: #a5d690;} +tr.issue.even.status-5 td.status{background: #e2ffde; font-weight:bold; border-color: #a5d690;} +/* rejected */ +tr.issue.odd.status-6 td.status{background: #FF9999; font-weight: bold; border-color: #FF8888;} +tr.issue.even.status-6 td.status{background: #FFBBBB; font-weight: bold; border-color: #FFA0A0;} + +/* issue tracker icons */ +/* default */ +tr.issue td.tracker:before{content:"";display:block;float:left;background:url("../images/page_white.png") no-repeat;width:16px;height:16px;} +/* bug */ +tr.issue.tracker-1 td.tracker:before{background:url("../images/bug.png") no-repeat;} +/* feature */ +tr.issue.tracker-2 td.tracker:before{background:url("../images/brick_add.png") no-repeat;} +/* support */ +tr.issue.tracker-3 td.tracker:before{background:url("../images/shield.png") no-repeat;} + +/* issue due_date */ +tr.issue td.id:before{content:"";display:block;float:left;width:16px;height:16px;margin-right:2px;background:url("../images/issue.png") no-repeat;} +tr.issue.open.timed td.id:before{background:url("../images/clock.png") no-repeat;} +tr.issue.open.overdue td.id:before{background:url("../images/clock_red.png") no-repeat;} +tr.issue.open.overdue td.id a,tr.issue.open.overdue td.due_date{color:#F33;} +tr.issue.closed.timed td.id:before{background:url("../images/lock.png") no-repeat;} + tr.issue { text-align: center; white-space: nowrap; } tr.issue td.subject, tr.issue td.category, td.assigned_to, tr.issue td.string, tr.issue td.text, tr.issue td.relations { white-space: normal; } tr.issue td.subject, tr.issue td.relations { text-align: left; }