admin_interface 1.2.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +21 -6
- data/admin_interface.gemspec +1 -1
- data/doc/screenshot.png +0 -0
- data/lib/generators/admin_interface/templates/views/layout.html.erb +2 -2
- data/vendor/assets/javascripts/{jquery.admin.js → admin_interface.jquery.js} +0 -0
- data/vendor/assets/stylesheets/{admin.css → admin_interface.css.scss} +135 -135
- metadata +5 -4
data/README.rdoc
CHANGED
@@ -1,20 +1,27 @@
|
|
1
1
|
= AdminInterface
|
2
2
|
|
3
|
-
A Rails admin interface generator for Rails 3. Theme stolen from Redmine. Similar to web-app-theme.
|
3
|
+
A Rails admin interface generator for Rails 3.1+. Theme stolen from Redmine. Similar to web-app-theme.
|
4
4
|
|
5
5
|
== More info
|
6
6
|
|
7
|
-
Generator to create some nifty admin scaffolds. It can work with
|
7
|
+
Generator to create some nifty admin scaffolds. It can work with MetaSearch and Kaminari.
|
8
8
|
It also has admin authentication really well implemented.
|
9
9
|
|
10
10
|
== Install
|
11
11
|
|
12
|
+
=== Rails 3.1
|
13
|
+
|
14
|
+
You should be using v1.2.0+.
|
15
|
+
|
16
|
+
gem "admin_interface"
|
17
|
+
|
18
|
+
=== Earlier Rails Versions
|
19
|
+
|
20
|
+
If you're using Rails 3.0 or earlier use
|
21
|
+
|
12
22
|
Add following to your Gemfile
|
13
23
|
|
14
|
-
|
15
|
-
# Generators
|
16
|
-
gem 'admin_interface'
|
17
|
-
end
|
24
|
+
gem "admin_interface", "~> 1.0.0"
|
18
25
|
|
19
26
|
AdminInterface uses several gems. So put these in your Gemfile
|
20
27
|
|
@@ -71,10 +78,18 @@ Attribute pairs are column_name:sql_type arguments specifying the
|
|
71
78
|
model's attributes. Timestamps are added by default, so you don't have to
|
72
79
|
specify them by hand as 'created_at:datetime updated_at:datetime'.
|
73
80
|
|
81
|
+
=== Customize
|
82
|
+
|
83
|
+
You should customize your admin area so it can be more functional and nicely looking.
|
84
|
+
|
74
85
|
=== See it in action
|
75
86
|
|
76
87
|
Go to /admin and you can see everything in action.
|
77
88
|
|
89
|
+
== Screenshot
|
90
|
+
|
91
|
+
https://raw.github.com/joost/admin_interface/master/doc/screenshot.png
|
92
|
+
|
78
93
|
== Error messages
|
79
94
|
|
80
95
|
Add this to a initializer or in your environment.rb (see: http://railscasts.com/episodes/39-customize-field-error)
|
data/admin_interface.gemspec
CHANGED
@@ -4,7 +4,7 @@ require "devise/version"
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "admin_interface"
|
7
|
-
spec.version = '1.2.
|
7
|
+
spec.version = '1.2.1'
|
8
8
|
spec.platform = Gem::Platform::RUBY
|
9
9
|
spec.summary = "A Rails admin interface generator. Theme stolen from Redmine."
|
10
10
|
spec.email = "joost@joopp.com"
|
data/doc/screenshot.png
ADDED
Binary file
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
6
6
|
<title>Admin</title>
|
7
|
-
<%= stylesheet_link_tag '
|
8
|
-
<%= javascript_include_tag :application, 'jquery.
|
7
|
+
<%= stylesheet_link_tag 'admin_interface' %>
|
8
|
+
<%= javascript_include_tag :application, 'admin_interface.jquery.js' %>
|
9
9
|
<%= csrf_meta_tag %>
|
10
10
|
</head>
|
11
11
|
<body>
|
File without changes
|
@@ -9,12 +9,12 @@ label.disabled {
|
|
9
9
|
}
|
10
10
|
|
11
11
|
/***** Custom additions to Redmine *****/
|
12
|
-
.icon-search { background-image: url(
|
13
|
-
.icon-download { background-image: url(
|
14
|
-
.icon-destroy { background-image: url(
|
15
|
-
.icon-document { background-image: url(
|
16
|
-
.icon-crop { background-image: url(
|
17
|
-
.icon-mail { background-image: url(
|
12
|
+
.icon-search { background-image: asset-url('admin/search.png', image); }
|
13
|
+
.icon-download { background-image: asset-url('admin/download.png', image); }
|
14
|
+
.icon-destroy { background-image: asset-url('admin/destroy.png', image); }
|
15
|
+
.icon-document { background-image: asset-url('admin/document.png', image); }
|
16
|
+
.icon-crop { background-image: asset-url('admin/crop.png', image); }
|
17
|
+
.icon-mail { background-image: asset-url('admin/mail.png', image); }
|
18
18
|
|
19
19
|
tfoot th {
|
20
20
|
text-align: left;
|
@@ -22,7 +22,7 @@ tfoot th {
|
|
22
22
|
|
23
23
|
/* Flash style, not only error class but also alert class (style either like warning or error) */
|
24
24
|
div.flash.alert {
|
25
|
-
background: url(
|
25
|
+
background: asset-url('admin/warning.png', image) 8px 5px no-repeat;
|
26
26
|
background-color: #FFEBC1;
|
27
27
|
border-color: #FDBF3B;
|
28
28
|
color: #A6750C;
|
@@ -33,7 +33,7 @@ div.flash.alert {
|
|
33
33
|
|
34
34
|
/*
|
35
35
|
* The application needs to be above the theme css (it is overwritten).
|
36
|
-
* The 'url(
|
36
|
+
* The 'asset-url('admin/' has been replaced by 'asset-url('admin/'.
|
37
37
|
*
|
38
38
|
*/
|
39
39
|
|
@@ -92,19 +92,19 @@ h4, .wiki h3 {font-size: 13px;padding: 2px 10px 1px 0px;margin-bottom: 5px; bord
|
|
92
92
|
#admin-menu li {margin: 0; padding: 0 0 12px 0; list-style-type:none;}
|
93
93
|
|
94
94
|
#admin-menu a { background-position: 0% 40%; background-repeat: no-repeat; padding-left: 20px; padding-top: 2px; padding-bottom: 3px;}
|
95
|
-
#admin-menu a.projects { background-image: url(
|
96
|
-
#admin-menu a.users { background-image: url(
|
97
|
-
#admin-menu a.groups { background-image: url(
|
98
|
-
#admin-menu a.roles { background-image: url(
|
99
|
-
#admin-menu a.trackers { background-image: url(
|
100
|
-
#admin-menu a.issue_statuses { background-image: url(
|
101
|
-
#admin-menu a.workflows { background-image: url(
|
102
|
-
#admin-menu a.custom_fields { background-image: url(
|
103
|
-
#admin-menu a.enumerations { background-image: url(
|
104
|
-
#admin-menu a.settings { background-image: url(
|
105
|
-
#admin-menu a.plugins { background-image: url(
|
106
|
-
#admin-menu a.info { background-image: url(
|
107
|
-
#admin-menu a.server_authentication { background-image: url(
|
95
|
+
#admin-menu a.projects { background-image: asset-url('admin/projects.png', image); }
|
96
|
+
#admin-menu a.users { background-image: asset-url('admin/user.png', image); }
|
97
|
+
#admin-menu a.groups { background-image: asset-url('admin/group.png', image); }
|
98
|
+
#admin-menu a.roles { background-image: asset-url('admin/database_key.png', image); }
|
99
|
+
#admin-menu a.trackers { background-image: asset-url('admin/ticket.png', image); }
|
100
|
+
#admin-menu a.issue_statuses { background-image: asset-url('admin/ticket_edit.png', image); }
|
101
|
+
#admin-menu a.workflows { background-image: asset-url('admin/ticket_go.png', image); }
|
102
|
+
#admin-menu a.custom_fields { background-image: asset-url('admin/textfield.png', image); }
|
103
|
+
#admin-menu a.enumerations { background-image: asset-url('admin/text_list_bullets.png', image); }
|
104
|
+
#admin-menu a.settings { background-image: asset-url('admin/changeset.png', image); }
|
105
|
+
#admin-menu a.plugins { background-image: asset-url('admin/plugin.png', image); }
|
106
|
+
#admin-menu a.info { background-image: asset-url('admin/help.png', image); }
|
107
|
+
#admin-menu a.server_authentication { background-image: asset-url('admin/server_key.png', image); }
|
108
108
|
|
109
109
|
#main {background-color:#EEEEEE;}
|
110
110
|
|
@@ -130,7 +130,7 @@ html>body #content { min-height: 600px; }
|
|
130
130
|
#login-form label {font-weight: bold;}
|
131
131
|
#login-form input#username, #login-form input#password { width: 300px; }
|
132
132
|
|
133
|
-
input#openid_url { background: url(
|
133
|
+
input#openid_url { background: asset-url('admin/openid-bg.gif', image) no-repeat; background-color: #fff; background-position: 0 50%; padding-left: 18px; }
|
134
134
|
|
135
135
|
.clear:after{ content: "."; display: block; height: 0; clear: both; visibility: hidden; }
|
136
136
|
|
@@ -153,7 +153,7 @@ table.list caption { text-align: left; padding: 0.5em 0.5em 0.5em 0; }
|
|
153
153
|
|
154
154
|
tr.project td.name a { white-space:nowrap; }
|
155
155
|
|
156
|
-
tr.project.idnt td.name span {background: url(
|
156
|
+
tr.project.idnt td.name span {background: asset-url('admin/bullet_arrow_right.png', image) no-repeat 0 50%; padding-left: 16px;}
|
157
157
|
tr.project.idnt-1 td.name {padding-left: 0.5em;}
|
158
158
|
tr.project.idnt-2 td.name {padding-left: 2em;}
|
159
159
|
tr.project.idnt-3 td.name {padding-left: 3.5em;}
|
@@ -169,7 +169,7 @@ tr.issue td.subject, tr.issue td.category, td.assigned_to { white-space: normal;
|
|
169
169
|
tr.issue td.subject { text-align: left; }
|
170
170
|
tr.issue td.done_ratio table.progress { margin-left:auto; margin-right: auto;}
|
171
171
|
|
172
|
-
tr.issue.idnt td.subject a {background: url(
|
172
|
+
tr.issue.idnt td.subject a {background: asset-url('admin/bullet_arrow_right.png', image) no-repeat 0 50%; padding-left: 16px;}
|
173
173
|
tr.issue.idnt-1 td.subject {padding-left: 0.5em;}
|
174
174
|
tr.issue.idnt-2 td.subject {padding-left: 2em;}
|
175
175
|
tr.issue.idnt-3 td.subject {padding-left: 3.5em;}
|
@@ -188,8 +188,8 @@ tr.entry td.revision, tr.entry td.author { text-align: center; }
|
|
188
188
|
tr.entry td.age { text-align: right; }
|
189
189
|
tr.entry.file td.filename a { margin-left: 16px; }
|
190
190
|
|
191
|
-
tr span.expander {background-image: url(
|
192
|
-
tr.open span.expander {background-image: url(
|
191
|
+
tr span.expander {background-image: asset-url('admin/bullet_toggle_plus.png', image); padding-left: 8px; margin-left: 0; cursor: pointer;}
|
192
|
+
tr.open span.expander {background-image: asset-url('admin/bullet_toggle_minus.png', image);}
|
193
193
|
|
194
194
|
tr.changeset td.author { text-align: center; width: 15%; }
|
195
195
|
tr.changeset td.committed_on { text-align: center; width: 15%; }
|
@@ -204,12 +204,12 @@ tr.message { height: 2.6em; }
|
|
204
204
|
tr.message td.subject { padding-left: 20px; }
|
205
205
|
tr.message td.created_on { white-space: nowrap; }
|
206
206
|
tr.message td.last_message { font-size: 80%; white-space: nowrap; }
|
207
|
-
tr.message.locked td.subject { background: url(
|
208
|
-
tr.message.sticky td.subject { background: url(
|
207
|
+
tr.message.locked td.subject { background: asset-url('admin/locked.png', image) no-repeat 0 1px; }
|
208
|
+
tr.message.sticky td.subject { background: asset-url('admin/bullet_go.png', image) no-repeat 0 1px; font-weight: bold; }
|
209
209
|
|
210
210
|
tr.version.closed, tr.version.closed a { color: #999; }
|
211
211
|
tr.version td.name { padding-left: 20px; }
|
212
|
-
tr.version.shared td.name { background: url(
|
212
|
+
tr.version.shared td.name { background: asset-url('admin/link.png', image) no-repeat 0% 70%; }
|
213
213
|
tr.version td.date, tr.version td.status, tr.version td.sharing { text-align: center; }
|
214
214
|
|
215
215
|
tr.user td { width:13%; }
|
@@ -242,23 +242,23 @@ table p {margin:0;}
|
|
242
242
|
.even {background-color: #fff;}
|
243
243
|
|
244
244
|
a.sort { padding-right: 16px; background-position: 100% 50%; background-repeat: no-repeat; }
|
245
|
-
a.sort.asc { background-image: url(
|
246
|
-
a.sort.desc { background-image: url(
|
245
|
+
a.sort.asc { background-image: asset-url('admin/sort_asc.png', image); }
|
246
|
+
a.sort.desc { background-image: asset-url('admin/sort_desc.png', image); }
|
247
247
|
|
248
248
|
table.attributes { width: 100% }
|
249
249
|
table.attributes th { vertical-align: top; text-align: left; }
|
250
250
|
table.attributes td { vertical-align: top; }
|
251
251
|
|
252
|
-
table.boards a.board, h3.comments { background: url(
|
252
|
+
table.boards a.board, h3.comments { background: asset-url('admin/comment.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
253
253
|
|
254
254
|
td.center {text-align:center;}
|
255
255
|
|
256
|
-
h3.version { background: url(
|
256
|
+
h3.version { background: asset-url('admin/package.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
257
257
|
|
258
|
-
div.issues h3 { background: url(
|
259
|
-
div.members h3 { background: url(
|
260
|
-
div.news h3 { background: url(
|
261
|
-
div.projects h3 { background: url(
|
258
|
+
div.issues h3 { background: asset-url('admin/ticket.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
259
|
+
div.members h3 { background: asset-url('admin/group.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
260
|
+
div.news h3 { background: asset-url('admin/news.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
261
|
+
div.projects h3 { background: asset-url('admin/projects.png', image) no-repeat 0% 50%; padding-left: 20px; }
|
262
262
|
|
263
263
|
#watchers ul {margin: 0; padding: 0;}
|
264
264
|
#watchers li {list-style-type:none;margin: 0px 2px 0px 0px; padding: 0px 0px 0px 0px;}
|
@@ -318,8 +318,8 @@ div.issue div.subject h3 {margin: 0; margin-bottom: 0.1em;}
|
|
318
318
|
#issue_tree td.checkbox {display:none;}
|
319
319
|
|
320
320
|
fieldset.collapsible { border-width: 1px 0 0 0; font-size: 0.9em; }
|
321
|
-
fieldset.collapsible legend { padding-left: 16px; background: url(
|
322
|
-
fieldset.collapsible.collapsed legend { background-image: url(
|
321
|
+
fieldset.collapsible legend { padding-left: 16px; background: asset-url('admin/arrow_expanded.png', image) no-repeat 0% 40%; cursor:pointer; }
|
322
|
+
fieldset.collapsible.collapsed legend { background-image: asset-url('admin/arrow_collapsed.png', image); }
|
323
323
|
|
324
324
|
fieldset#date-range p { margin: 2px 0 2px 0; }
|
325
325
|
fieldset#filters table { border-collapse: collapse; }
|
@@ -348,21 +348,21 @@ div#search-results-counts {float:right;}
|
|
348
348
|
div#search-results-counts ul { margin-top: 0.5em; }
|
349
349
|
div#search-results-counts li { list-style-type:none; float: left; margin-left: 1em; }
|
350
350
|
|
351
|
-
dt.issue { background-image: url(
|
352
|
-
dt.issue-edit { background-image: url(
|
353
|
-
dt.issue-closed { background-image: url(
|
354
|
-
dt.issue-note { background-image: url(
|
355
|
-
dt.changeset { background-image: url(
|
356
|
-
dt.news { background-image: url(
|
357
|
-
dt.message { background-image: url(
|
358
|
-
dt.reply { background-image: url(
|
359
|
-
dt.wiki-page { background-image: url(
|
360
|
-
dt.attachment { background-image: url(
|
361
|
-
dt.document { background-image: url(
|
362
|
-
dt.project { background-image: url(
|
363
|
-
dt.time-entry { background-image: url(
|
364
|
-
|
365
|
-
#search-results dt.issue.closed { background-image: url(
|
351
|
+
dt.issue { background-image: asset-url('admin/ticket.png', image); }
|
352
|
+
dt.issue-edit { background-image: asset-url('admin/ticket_edit.png', image); }
|
353
|
+
dt.issue-closed { background-image: asset-url('admin/ticket_checked.png', image); }
|
354
|
+
dt.issue-note { background-image: asset-url('admin/ticket_note.png', image); }
|
355
|
+
dt.changeset { background-image: asset-url('admin/changeset.png', image); }
|
356
|
+
dt.news { background-image: asset-url('admin/news.png', image); }
|
357
|
+
dt.message { background-image: asset-url('admin/message.png', image); }
|
358
|
+
dt.reply { background-image: asset-url('admin/comments.png', image); }
|
359
|
+
dt.wiki-page { background-image: asset-url('admin/wiki_edit.png', image); }
|
360
|
+
dt.attachment { background-image: asset-url('admin/attachment.png', image); }
|
361
|
+
dt.document { background-image: asset-url('admin/document.png', image); }
|
362
|
+
dt.project { background-image: asset-url('admin/projects.png', image); }
|
363
|
+
dt.time-entry { background-image: asset-url('admin/time.png', image); }
|
364
|
+
|
365
|
+
#search-results dt.issue.closed { background-image: asset-url('admin/ticket_checked.png', image); }
|
366
366
|
|
367
367
|
div#roadmap .related-issues { margin-bottom: 1em; }
|
368
368
|
div#roadmap .related-issues td.checkbox { display: none; }
|
@@ -390,7 +390,7 @@ ul.projects ul.projects { border-left: 3px solid #e0e0e0; }
|
|
390
390
|
ul.projects li.root { list-style-type:none; margin-bottom: 1em; }
|
391
391
|
ul.projects li.child { list-style-type:none; margin-top: 1em;}
|
392
392
|
ul.projects div.root a.project { font-family: "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 16px; margin: 0 0 10px 0; }
|
393
|
-
.my-project { padding-left: 18px; background: url(
|
393
|
+
.my-project { padding-left: 18px; background: asset-url('admin/fav.png', image) no-repeat 0 50%; }
|
394
394
|
|
395
395
|
#tracker_project_ids ul { margin: 0; padding-left: 1em; }
|
396
396
|
#tracker_project_ids li { list-style-type:none; }
|
@@ -456,7 +456,7 @@ width: auto;
|
|
456
456
|
|
457
457
|
input#time_entry_comments { width: 90%;}
|
458
458
|
|
459
|
-
#preview fieldset {margin-top: 1em; background: url(
|
459
|
+
#preview fieldset {margin-top: 1em; background: asset-url('admin/draft.png', image)}
|
460
460
|
|
461
461
|
.tabular.settings p{ padding-left: 300px; }
|
462
462
|
.tabular.settings label{ margin-left: -300px; width: 295px; }
|
@@ -478,7 +478,7 @@ div.attachments span.author { font-size: 0.9em; color: #888; }
|
|
478
478
|
p.other-formats { text-align: right; font-size:0.9em; color: #666; }
|
479
479
|
.other-formats span + span:before { content: "| "; }
|
480
480
|
|
481
|
-
a.atom { background: url(
|
481
|
+
a.atom { background: asset-url('admin/feed.png', image) no-repeat 1px 50%; padding: 2px 0px 3px 16px; }
|
482
482
|
|
483
483
|
/* Project members tab */
|
484
484
|
div#tab-content-members .splitcontentleft, div#tab-content-memberships .splitcontentleft, div#tab-content-users .splitcontentleft { width: 64% }
|
@@ -488,7 +488,7 @@ div#tab-content-members fieldset legend, div#tab-content-memberships fieldset le
|
|
488
488
|
div#tab-content-members fieldset label, div#tab-content-memberships fieldset label, div#tab-content-users fieldset label { display: block; }
|
489
489
|
div#tab-content-members fieldset div, div#tab-content-users fieldset div { max-height: 400px; overflow:auto; }
|
490
490
|
|
491
|
-
table.members td.group { padding-left: 20px; background: url(
|
491
|
+
table.members td.group { padding-left: 20px; background: asset-url('admin/group.png', image) no-repeat 0% 50%; }
|
492
492
|
|
493
493
|
input#principal_search, input#user_search {width:100%}
|
494
494
|
|
@@ -505,21 +505,21 @@ input#principal_search, input#user_search {width:100%}
|
|
505
505
|
div.flash {margin-top: 8px;}
|
506
506
|
|
507
507
|
div.flash.error, #errorExplanation {
|
508
|
-
background: url(
|
508
|
+
background: asset-url('admin/exclamation.png', image) 8px 50% no-repeat;
|
509
509
|
background-color: #ffe3e3;
|
510
510
|
border-color: #dd0000;
|
511
511
|
color: #880000;
|
512
512
|
}
|
513
513
|
|
514
514
|
div.flash.notice {
|
515
|
-
background: url(
|
515
|
+
background: asset-url('admin/true.png', image) 8px 5px no-repeat;
|
516
516
|
background-color: #dfffdf;
|
517
517
|
border-color: #9fcf9f;
|
518
518
|
color: #005f00;
|
519
519
|
}
|
520
520
|
|
521
521
|
div.flash.warning {
|
522
|
-
background: url(
|
522
|
+
background: asset-url('admin/warning.png', image) 8px 5px no-repeat;
|
523
523
|
background-color: #FFEBC1;
|
524
524
|
border-color: #FDBF3B;
|
525
525
|
color: #A6750C;
|
@@ -557,7 +557,7 @@ html>body #ajax-indicator { position: fixed; }
|
|
557
557
|
#ajax-indicator span {
|
558
558
|
background-position: 0% 40%;
|
559
559
|
background-repeat: no-repeat;
|
560
|
-
background-image: url(
|
560
|
+
background-image: asset-url('admin/loading.gif', image);
|
561
561
|
padding-left: 26px;
|
562
562
|
vertical-align: bottom;
|
563
563
|
}
|
@@ -573,9 +573,9 @@ table.cal td p.day-num {font-size: 1.1em; text-align:right;}
|
|
573
573
|
table.cal td.odd p.day-num {color: #bbb;}
|
574
574
|
table.cal td.today {background:#ffffdd;}
|
575
575
|
table.cal td.today p.day-num {font-weight: bold;}
|
576
|
-
table.cal .starting a, p.cal.legend .starting {background: url(
|
577
|
-
table.cal .ending a, p.cal.legend .ending {background: url(
|
578
|
-
table.cal .starting.ending a, p.cal.legend .starting.ending {background: url(
|
576
|
+
table.cal .starting a, p.cal.legend .starting {background: asset-url('admin/bullet_go.png', image) no-repeat -1px -2px; padding-left:16px;}
|
577
|
+
table.cal .ending a, p.cal.legend .ending {background: asset-url('admin/bullet_end.png', image) no-repeat -1px -2px; padding-left:16px;}
|
578
|
+
table.cal .starting.ending a, p.cal.legend .starting.ending {background: asset-url('admin/bullet_diamond.png', image) no-repeat -1px -2px; padding-left:16px;}
|
579
579
|
p.cal.legend span {display:block;}
|
580
580
|
|
581
581
|
/***** Tooltips ******/
|
@@ -668,12 +668,12 @@ button.tab-left, button.tab-right {
|
|
668
668
|
|
669
669
|
button.tab-left {
|
670
670
|
right: 20px;
|
671
|
-
background: #eeeeee url(
|
671
|
+
background: #eeeeee asset-url('admin/bullet_arrow_left.png', image) no-repeat 50% 50%;
|
672
672
|
}
|
673
673
|
|
674
674
|
button.tab-right {
|
675
675
|
right: 0;
|
676
|
-
background: #eeeeee url(
|
676
|
+
background: #eeeeee asset-url('admin/bullet_arrow_right.png', image) no-repeat 50% 50%;
|
677
677
|
}
|
678
678
|
|
679
679
|
/***** Auto-complete *****/
|
@@ -729,7 +729,7 @@ div.wiki .external {
|
|
729
729
|
background-position: 0% 60%;
|
730
730
|
background-repeat: no-repeat;
|
731
731
|
padding-left: 12px;
|
732
|
-
background-image: url(
|
732
|
+
background-image: asset-url('admin/external.png', image);
|
733
733
|
}
|
734
734
|
|
735
735
|
div.wiki a.new {
|
@@ -804,11 +804,11 @@ width:12px;
|
|
804
804
|
height:12px;
|
805
805
|
background-repeat: no-repeat;
|
806
806
|
cursor:pointer;
|
807
|
-
background-image:url('
|
807
|
+
background-image:asset-url('admin/close.png', image);
|
808
808
|
}
|
809
809
|
|
810
810
|
a.close-icon:hover {
|
811
|
-
background-image:url('
|
811
|
+
background-image:asset-url('admin/close_hl.png', image);
|
812
812
|
}
|
813
813
|
|
814
814
|
/***** Gantt chart *****/
|
@@ -840,24 +840,24 @@ background-image:url('/assets/admin/close_hl.png');
|
|
840
840
|
.task.label {width:100%;}
|
841
841
|
.task.label.project, .task.label.version { font-weight: bold; }
|
842
842
|
|
843
|
-
.task_late { background:#f66 url(
|
844
|
-
.task_done { background:#00c600 url(
|
845
|
-
.task_todo { background:#aaa url(
|
843
|
+
.task_late { background:#f66 asset-url('admin/task_late.png', image); border: 1px solid #f66; }
|
844
|
+
.task_done { background:#00c600 asset-url('admin/task_done.png', image); border: 1px solid #00c600; }
|
845
|
+
.task_todo { background:#aaa asset-url('admin/task_todo.png', image); border: 1px solid #aaa; }
|
846
846
|
|
847
847
|
.task_todo.parent { background: #888; border: 1px solid #888; height: 3px;}
|
848
848
|
.task_late.parent, .task_done.parent { height: 3px;}
|
849
|
-
.task.parent.marker.starting { position: absolute; background: url(
|
850
|
-
.task.parent.marker.ending { position: absolute; background: url(
|
849
|
+
.task.parent.marker.starting { position: absolute; background: asset-url('admin/task_parent_end.png', image) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; left: 0px; top: -1px;}
|
850
|
+
.task.parent.marker.ending { position: absolute; background: asset-url('admin/task_parent_end.png', image) no-repeat 0 0; width: 8px; height: 16px; margin-left: -4px; right: 0px; top: -1px;}
|
851
851
|
|
852
|
-
.version.task_late { background:#f66 url(
|
853
|
-
.version.task_done { background:#00c600 url(
|
854
|
-
.version.task_todo { background:#fff url(
|
855
|
-
.version.marker { background-image:url(
|
852
|
+
.version.task_late { background:#f66 asset-url('admin/milestone_late.png', image); border: 1px solid #f66; height: 2px; margin-top: 3px;}
|
853
|
+
.version.task_done { background:#00c600 asset-url('admin/milestone_done.png', image); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
|
854
|
+
.version.task_todo { background:#fff asset-url('admin/milestone_todo.png', image); border: 1px solid #fff; height: 2px; margin-top: 3px;}
|
855
|
+
.version.marker { background-image:asset-url('admin/version_marker.png', image); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
|
856
856
|
|
857
|
-
.project.task_late { background:#f66 url(
|
858
|
-
.project.task_done { background:#00c600 url(
|
859
|
-
.project.task_todo { background:#fff url(
|
860
|
-
.project.marker { background-image:url(
|
857
|
+
.project.task_late { background:#f66 asset-url('admin/milestone_late.png', image); border: 1px solid #f66; height: 2px; margin-top: 3px;}
|
858
|
+
.project.task_done { background:#00c600 asset-url('admin/milestone_done.png', image); border: 1px solid #00c600; height: 2px; margin-top: 3px;}
|
859
|
+
.project.task_todo { background:#fff asset-url('admin/milestone_todo.png', image); border: 1px solid #fff; height: 2px; margin-top: 3px;}
|
860
|
+
.project.marker { background-image:asset-url('admin/project_marker.png', image); background-repeat: no-repeat; border: 0; margin-left: -4px; margin-top: 1px; }
|
861
861
|
|
862
862
|
.version-behind-schedule a, .issue-behind-schedule a {color: #f66914;}
|
863
863
|
.version-overdue a, .issue-overdue a, .project-overdue a {color: #f00;}
|
@@ -871,58 +871,58 @@ padding-top: 2px;
|
|
871
871
|
padding-bottom: 3px;
|
872
872
|
}
|
873
873
|
|
874
|
-
.icon-add { background-image: url(
|
875
|
-
.icon-edit { background-image: url(
|
876
|
-
.icon-copy { background-image: url(
|
877
|
-
.icon-duplicate { background-image: url(
|
878
|
-
.icon-del { background-image: url(
|
879
|
-
.icon-move { background-image: url(
|
880
|
-
.icon-save { background-image: url(
|
881
|
-
.icon-cancel { background-image: url(
|
882
|
-
.icon-multiple { background-image: url(
|
883
|
-
.icon-folder { background-image: url(
|
884
|
-
.open .icon-folder { background-image: url(
|
885
|
-
.icon-package { background-image: url(
|
886
|
-
.icon-home { background-image: url(
|
887
|
-
.icon-user { background-image: url(
|
888
|
-
.icon-projects { background-image: url(
|
889
|
-
.icon-help { background-image: url(
|
890
|
-
.icon-attachment { background-image: url(
|
891
|
-
.icon-history { background-image: url(
|
892
|
-
.icon-time { background-image: url(
|
893
|
-
.icon-time-add { background-image: url(
|
894
|
-
.icon-stats { background-image: url(
|
895
|
-
.icon-warning { background-image: url(
|
896
|
-
.icon-fav { background-image: url(
|
897
|
-
.icon-fav-off { background-image: url(
|
898
|
-
.icon-reload { background-image: url(
|
899
|
-
.icon-lock { background-image: url(
|
900
|
-
.icon-unlock { background-image: url(
|
901
|
-
.icon-checked { background-image: url(
|
902
|
-
.icon-details { background-image: url(
|
903
|
-
.icon-report { background-image: url(
|
904
|
-
.icon-comment { background-image: url(
|
905
|
-
.icon-summary { background-image: url(
|
906
|
-
.icon-server-authentication { background-image: url(
|
907
|
-
.icon-issue { background-image: url(
|
908
|
-
.icon-zoom-in { background-image: url(
|
909
|
-
.icon-zoom-out { background-image: url(
|
910
|
-
.icon-changeset { background-image: url(
|
911
|
-
|
912
|
-
.icon-file { background-image: url(
|
913
|
-
.icon-file.text-plain { background-image: url(
|
914
|
-
.icon-file.text-x-c { background-image: url(
|
915
|
-
.icon-file.text-x-csharp { background-image: url(
|
916
|
-
.icon-file.text-x-php { background-image: url(
|
917
|
-
.icon-file.text-x-ruby { background-image: url(
|
918
|
-
.icon-file.text-xml { background-image: url(
|
919
|
-
.icon-file.image-gif { background-image: url(
|
920
|
-
.icon-file.image-jpeg { background-image: url(
|
921
|
-
.icon-file.image-png { background-image: url(
|
922
|
-
.icon-file.image-tiff { background-image: url(
|
923
|
-
.icon-file.application-pdf { background-image: url(
|
924
|
-
.icon-file.application-zip { background-image: url(
|
925
|
-
.icon-file.application-x-gzip { background-image: url(
|
874
|
+
.icon-add { background-image: asset-url('admin/add.png', image); }
|
875
|
+
.icon-edit { background-image: asset-url('admin/edit.png', image); }
|
876
|
+
.icon-copy { background-image: asset-url('admin/copy.png', image); }
|
877
|
+
.icon-duplicate { background-image: asset-url('admin/duplicate.png', image); }
|
878
|
+
.icon-del { background-image: asset-url('admin/delete.png', image); }
|
879
|
+
.icon-move { background-image: asset-url('admin/move.png', image); }
|
880
|
+
.icon-save { background-image: asset-url('admin/save.png', image); }
|
881
|
+
.icon-cancel { background-image: asset-url('admin/cancel.png', image); }
|
882
|
+
.icon-multiple { background-image: asset-url('admin/table_multiple.png', image); }
|
883
|
+
.icon-folder { background-image: asset-url('admin/folder.png', image); }
|
884
|
+
.open .icon-folder { background-image: asset-url('admin/folder_open.png', image); }
|
885
|
+
.icon-package { background-image: asset-url('admin/package.png', image); }
|
886
|
+
.icon-home { background-image: asset-url('admin/home.png', image); }
|
887
|
+
.icon-user { background-image: asset-url('admin/user.png', image); }
|
888
|
+
.icon-projects { background-image: asset-url('admin/projects.png', image); }
|
889
|
+
.icon-help { background-image: asset-url('admin/help.png', image); }
|
890
|
+
.icon-attachment { background-image: asset-url('admin/attachment.png', image); }
|
891
|
+
.icon-history { background-image: asset-url('admin/history.png', image); }
|
892
|
+
.icon-time { background-image: asset-url('admin/time.png', image); }
|
893
|
+
.icon-time-add { background-image: asset-url('admin/time_add.png', image); }
|
894
|
+
.icon-stats { background-image: asset-url('admin/stats.png', image); }
|
895
|
+
.icon-warning { background-image: asset-url('admin/warning.png', image); }
|
896
|
+
.icon-fav { background-image: asset-url('admin/fav.png', image); }
|
897
|
+
.icon-fav-off { background-image: asset-url('admin/fav_off.png', image); }
|
898
|
+
.icon-reload { background-image: asset-url('admin/reload.png', image); }
|
899
|
+
.icon-lock { background-image: asset-url('admin/locked.png', image); }
|
900
|
+
.icon-unlock { background-image: asset-url('admin/unlock.png', image); }
|
901
|
+
.icon-checked { background-image: asset-url('admin/true.png', image); }
|
902
|
+
.icon-details { background-image: asset-url('admin/zoom_in.png', image); }
|
903
|
+
.icon-report { background-image: asset-url('admin/report.png', image); }
|
904
|
+
.icon-comment { background-image: asset-url('admin/comment.png', image); }
|
905
|
+
.icon-summary { background-image: asset-url('admin/lightning.png', image); }
|
906
|
+
.icon-server-authentication { background-image: asset-url('admin/server_key.png', image); }
|
907
|
+
.icon-issue { background-image: asset-url('admin/ticket.png', image); }
|
908
|
+
.icon-zoom-in { background-image: asset-url('admin/zoom_in.png', image); }
|
909
|
+
.icon-zoom-out { background-image: asset-url('admin/zoom_out.png', image); }
|
910
|
+
.icon-changeset { background-image: asset-url('admin/changeset.png', image); }
|
911
|
+
|
912
|
+
.icon-file { background-image: asset-url('admin/files/default.png', image); }
|
913
|
+
.icon-file.text-plain { background-image: asset-url('admin/files/text.png', image); }
|
914
|
+
.icon-file.text-x-c { background-image: asset-url('admin/files/c.png', image); }
|
915
|
+
.icon-file.text-x-csharp { background-image: asset-url('admin/files/csharp.png', image); }
|
916
|
+
.icon-file.text-x-php { background-image: asset-url('admin/files/php.png', image); }
|
917
|
+
.icon-file.text-x-ruby { background-image: asset-url('admin/files/ruby.png', image); }
|
918
|
+
.icon-file.text-xml { background-image: asset-url('admin/files/xml.png', image); }
|
919
|
+
.icon-file.image-gif { background-image: asset-url('admin/files/image.png', image); }
|
920
|
+
.icon-file.image-jpeg { background-image: asset-url('admin/files/image.png', image); }
|
921
|
+
.icon-file.image-png { background-image: asset-url('admin/files/image.png', image); }
|
922
|
+
.icon-file.image-tiff { background-image: asset-url('admin/files/image.png', image); }
|
923
|
+
.icon-file.application-pdf { background-image: asset-url('admin/files/pdf.png', image); }
|
924
|
+
.icon-file.application-zip { background-image: asset-url('admin/files/zip.png', image); }
|
925
|
+
.icon-file.application-x-gzip { background-image: asset-url('admin/files/zip.png', image); }
|
926
926
|
|
927
927
|
img.gravatar {
|
928
928
|
padding: 2px;
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: admin_interface
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 1.2.
|
5
|
+
version: 1.2.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Joost Hietbrink
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-08-
|
13
|
+
date: 2011-08-24 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: kaminari
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- .gitignore
|
58
58
|
- README.rdoc
|
59
59
|
- admin_interface.gemspec
|
60
|
+
- doc/screenshot.png
|
60
61
|
- lib/admin_interface.rb
|
61
62
|
- lib/generators/admin_interface/USAGE
|
62
63
|
- lib/generators/admin_interface/admin_interface_generator.rb
|
@@ -250,8 +251,8 @@ files:
|
|
250
251
|
- vendor/assets/images/admin/zoom_in_g.png
|
251
252
|
- vendor/assets/images/admin/zoom_out.png
|
252
253
|
- vendor/assets/images/admin/zoom_out_g.png
|
253
|
-
- vendor/assets/javascripts/jquery.
|
254
|
-
- vendor/assets/stylesheets/
|
254
|
+
- vendor/assets/javascripts/admin_interface.jquery.js
|
255
|
+
- vendor/assets/stylesheets/admin_interface.css.scss
|
255
256
|
homepage: http://github.com/joost/admin_interface
|
256
257
|
licenses: []
|
257
258
|
|