hobo 1.3.0.RC4 → 1.3.0.pre10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. data/CHANGES.txt +234 -282
  2. data/Rakefile +3 -3
  3. data/VERSION +1 -1
  4. data/app/controllers/dev_controller.rb +2 -2
  5. data/bin/hobo +3 -3
  6. data/config/routes.rb +1 -1
  7. data/doctests/hobo/lifecycles.rdoctest +1 -0
  8. data/doctests/hobo/model.rdoctest +5 -0
  9. data/doctests/hobo/multi_model_forms.rdoctest +5 -4
  10. data/doctests/hobo/scopes.rdoctest +8 -11
  11. data/doctests/prepare_testapp.rb +1 -2
  12. data/hobo.gemspec +2 -2
  13. data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +11 -5
  14. data/lib/generators/hobo/admin_subsite/templates/admin.css +2 -20
  15. data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +1 -3
  16. data/lib/generators/hobo/admin_subsite/templates/controller.rb.erb +5 -5
  17. data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +1 -3
  18. data/lib/generators/hobo/basic/basic_generator.rb +17 -0
  19. data/lib/generators/hobo/{assets → basic}/templates/application.css +0 -0
  20. data/lib/generators/hobo/{assets → basic}/templates/application.dryml.erb +1 -1
  21. data/lib/generators/hobo/{assets → basic}/templates/dryml-support.js +2 -2
  22. data/lib/generators/hobo/{assets → basic}/templates/en_injection.yml +0 -0
  23. data/lib/generators/hobo/{assets → basic}/templates/guest.rb +0 -0
  24. data/lib/generators/hobo/controller.rb +1 -6
  25. data/lib/generators/hobo/front_controller/front_controller_generator.rb +3 -2
  26. data/{app/views/dev → lib/generators/hobo/front_controller/templates}/summary.dryml +10 -7
  27. data/lib/generators/hobo/hints/hints_generator.rb +12 -0
  28. data/lib/generators/hobo/hints/templates/hints.rb.erb +5 -0
  29. data/lib/generators/hobo/hints/templates/model_injection.rb.erb +36 -0
  30. data/lib/generators/hobo/i18n/i18n_generator.rb +9 -1
  31. data/lib/generators/hobo/i18n/templates/app.en.yml +1 -1
  32. data/lib/generators/hobo/i18n/templates/app.es-DO.yml +24 -0
  33. data/lib/generators/hobo/i18n/templates/app.it.yml +1 -5
  34. data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +0 -1
  35. data/lib/generators/hobo/i18n/templates/default_count_injection.rb +10 -0
  36. data/lib/generators/hobo/i18n/templates/hobo.en.yml +10 -26
  37. data/lib/generators/hobo/i18n/templates/{hobo.es.yml → hobo.es-DO.yml} +10 -27
  38. data/lib/generators/hobo/i18n/templates/hobo.it.yml +4 -20
  39. data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +9 -25
  40. data/lib/generators/hobo/model.rb +13 -0
  41. data/lib/generators/hobo/model/USAGE +3 -2
  42. data/lib/generators/hobo/model/model_generator.rb +1 -2
  43. data/lib/generators/hobo/rapid/rapid_generator.rb +0 -2
  44. data/lib/generators/hobo/rapid/templates/hobo-rapid.js +93 -78
  45. data/lib/generators/hobo/rapid/templates/ie7-recalc.js +21 -21
  46. data/lib/generators/hobo/rapid/templates/lowpro.js +31 -31
  47. data/lib/generators/hobo/rapid/templates/reset.css +1 -1
  48. data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/clean.css +16 -17
  49. data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
  50. data/lib/generators/hobo/rapid/templates/themes/clean/views/clean.dryml +1 -1
  51. data/lib/generators/hobo/resource/resource_generator.rb +1 -1
  52. data/lib/generators/hobo/routes/router.rb +4 -4
  53. data/lib/generators/hobo/routes/routes_generator.rb +1 -12
  54. data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +1 -1
  55. data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +43 -88
  56. data/lib/generators/hobo/subsite.rb +5 -18
  57. data/lib/generators/hobo/subsite/subsite_generator.rb +1 -1
  58. data/lib/generators/hobo/subsite/templates/controller.rb.erb +1 -1
  59. data/lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb +2 -2
  60. data/lib/generators/hobo/test_framework/test_framework_generator.rb +7 -7
  61. data/lib/generators/hobo/user_controller/templates/controller.rb.erb +3 -8
  62. data/lib/generators/hobo/user_mailer/templates/activation.erb +2 -2
  63. data/lib/generators/hobo/user_mailer/templates/forgot_password.erb +2 -2
  64. data/lib/generators/hobo/user_mailer/templates/invite.erb +2 -2
  65. data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +17 -10
  66. data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +1 -1
  67. data/lib/generators/hobo/user_model/USAGE +9 -2
  68. data/lib/generators/hobo/user_model/user_model_generator.rb +1 -2
  69. data/lib/hobo.rb +7 -13
  70. data/lib/hobo/controller.rb +14 -21
  71. data/lib/hobo/controller/authentication_support.rb +23 -1
  72. data/lib/hobo/controller/model.rb +53 -48
  73. data/lib/hobo/controller/{user_base.rb → user.rb} +36 -47
  74. data/lib/hobo/engine.rb +11 -25
  75. data/lib/hobo/extensions/action_controller/hobo_methods.rb +1 -25
  76. data/lib/hobo/extensions/active_model/translation.rb +1 -1
  77. data/lib/hobo/extensions/active_record/{associations/collection.rb → association_collection.rb} +3 -12
  78. data/lib/hobo/extensions/active_record/{associations/proxy.rb → association_proxy.rb} +7 -6
  79. data/lib/hobo/extensions/active_record/association_reflection.rb +19 -0
  80. data/lib/hobo/extensions/active_record/hobo_methods.rb +1 -1
  81. data/lib/hobo/extensions/active_record/scopes.rb +31 -0
  82. data/lib/hobo/extensions/array.rb +1 -13
  83. data/lib/hobo/helper.rb +6 -27
  84. data/lib/hobo/helper/translations.rb +90 -39
  85. data/lib/hobo/model.rb +20 -72
  86. data/lib/hobo/model/lifecycles.rb +11 -12
  87. data/lib/hobo/model/lifecycles/lifecycle.rb +4 -12
  88. data/lib/hobo/model/lifecycles/transition.rb +0 -1
  89. data/lib/hobo/model/permissions.rb +3 -2
  90. data/lib/hobo/model/scopes/apply_scopes.rb +1 -1
  91. data/lib/hobo/model/scopes/automatic_scopes.rb +80 -78
  92. data/lib/hobo/model/{user_base.rb → user.rb} +7 -9
  93. data/lib/hobo/rapid/generators/rapid/cards.dryml.erb +2 -2
  94. data/lib/hobo/rapid/generators/rapid/forms.dryml.erb +4 -5
  95. data/lib/hobo/rapid/generators/rapid/pages.dryml.erb +27 -26
  96. data/lib/hobo/rapid/helper.rb +5 -10
  97. data/lib/hobo/rapid/taglibs/rapid.dryml +1 -1
  98. data/lib/hobo/rapid/taglibs/rapid_core.dryml +42 -72
  99. data/lib/hobo/rapid/taglibs/rapid_document_tags.dryml +2 -2
  100. data/lib/hobo/rapid/taglibs/rapid_editing.dryml +16 -36
  101. data/lib/hobo/rapid/taglibs/rapid_forms.dryml +49 -87
  102. data/lib/hobo/rapid/taglibs/rapid_generics.dryml +2 -2
  103. data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +75 -50
  104. data/lib/hobo/rapid/taglibs/rapid_lifecycles.dryml +5 -7
  105. data/lib/hobo/rapid/taglibs/rapid_navigation.dryml +2 -2
  106. data/lib/hobo/rapid/taglibs/rapid_pages.dryml +7 -8
  107. data/lib/hobo/rapid/taglibs/rapid_plus.dryml +43 -66
  108. data/lib/hobo/rapid/taglibs/rapid_summary.dryml +45 -16
  109. data/lib/hobo/rapid/taglibs/rapid_translations.dryml +36 -0
  110. data/lib/hobo/rapid/taglibs/rapid_user_pages.dryml +8 -8
  111. data/lib/hobo/routes.rb +23 -22
  112. data/lib/hobo/view_hints.rb +101 -0
  113. data/test/irt/generators/admin_subsite.irt +1 -1
  114. data/test/irt/generators/{assets.irt → basic.irt} +2 -2
  115. data/test/irt/generators/front_controller.irt +4 -2
  116. data/test/irt/generators/partials/_subsite_taglib_variables.rb +1 -1
  117. data/test/irt/generators/subsite.irt +1 -1
  118. data/test/permissions/test_permissions.rb +103 -103
  119. metadata +108 -69
  120. data/lib/generators/hobo/admin_subsite/USAGE +0 -25
  121. data/lib/generators/hobo/admin_subsite/templates/application.dryml +0 -1
  122. data/lib/generators/hobo/assets/USAGE +0 -5
  123. data/lib/generators/hobo/assets/assets_generator.rb +0 -18
  124. data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +0 -1
  125. data/lib/generators/hobo/controller/USAGE +0 -3
  126. data/lib/generators/hobo/i18n/USAGE +0 -3
  127. data/lib/generators/hobo/i18n/templates/app.de.yml +0 -30
  128. data/lib/generators/hobo/i18n/templates/app.es.yml +0 -31
  129. data/lib/generators/hobo/i18n/templates/app.fr.yml +0 -26
  130. data/lib/generators/hobo/i18n/templates/app.nb.yml +0 -25
  131. data/lib/generators/hobo/i18n/templates/app.ru.yml +0 -24
  132. data/lib/generators/hobo/i18n/templates/hobo.de.yml +0 -204
  133. data/lib/generators/hobo/i18n/templates/hobo.fr.yml +0 -195
  134. data/lib/generators/hobo/i18n/templates/hobo.nb.yml +0 -198
  135. data/lib/generators/hobo/i18n/templates/hobo.ru.yml +0 -200
  136. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
  137. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
  138. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
  139. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/spinner.gif +0 -0
  140. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +0 -81
  141. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +0 -30
  142. data/lib/generators/hobo/resource/USAGE +0 -39
  143. data/lib/generators/hobo/subsite/USAGE +0 -24
  144. data/lib/generators/hobo/subsite_taglib/USAGE +0 -4
  145. data/lib/generators/hobo/test_framework/USAGE +0 -2
  146. data/lib/generators/hobo/user_controller/USAGE +0 -3
  147. data/lib/generators/hobo/user_mailer/USAGE +0 -2
  148. data/lib/generators/hobo/user_resource/USAGE +0 -10
  149. data/lib/hobo/extensions/action_view/translation_helper.rb +0 -25
  150. data/lib/hobo/extensions/active_record/associations/reflection.rb +0 -23
  151. data/lib/hobo/extensions/active_record/associations/scope.rb +0 -35
  152. data/lib/hobo/extensions/active_record/relation_with_origin.rb +0 -32
  153. data/lib/hobo/extensions/i18n.rb +0 -17
  154. data/lib/hobo/helper/translations/normalizer.rb +0 -39
  155. data/lib/hobo/model/view_hints.rb +0 -123
@@ -5,24 +5,24 @@
5
5
 
6
6
  (function() {
7
7
  /* ---------------------------------------------------------------------
8
-
8
+
9
9
  This allows refreshing of IE7 style rules. If you modify the DOM
10
10
  you can update IE7 by calling document.recalc().
11
-
11
+
12
12
  This should be the LAST module included.
13
-
13
+
14
14
  --------------------------------------------------------------------- */
15
-
15
+
16
16
  if (!IE7.loaded) return;
17
-
17
+
18
18
  // remove all IE7 classes from an element
19
19
  CLASSES = /\sie7_class\d+/g;
20
-
20
+
21
21
  IE7.CSS.extend({
22
22
  // store for elements that have style properties calculated
23
23
  elements: {},
24
24
  handlers: [],
25
-
25
+
26
26
  // clear IE7 classes and styles
27
27
  reset: function() {
28
28
  this.removeEventHandlers();
@@ -37,7 +37,7 @@
37
37
  }
38
38
  IE7.Rule.elements = {};
39
39
  },
40
-
40
+
41
41
  reload: function() {
42
42
  this.rules = [];
43
43
  this.getInlineStyles();
@@ -46,7 +46,7 @@
46
46
  this.refresh();
47
47
  this.trash();
48
48
  },
49
-
49
+
50
50
  addRecalc: function(propertyName, test, handler, replacement) {
51
51
  // call the ancestor method to add a wrapped recalc method
52
52
  this.base(propertyName, test, function(element) {
@@ -56,27 +56,27 @@
56
56
  IE7.CSS.elements[element.uniqueID] = element;
57
57
  }, replacement);
58
58
  },
59
-
59
+
60
60
  recalc: function() {
61
61
  // clear IE7 styles and classes
62
62
  this.reset();
63
63
  // execute the ancestor method to perform recalculations
64
64
  this.base();
65
65
  },
66
-
66
+
67
67
  addEventHandler: function(element, type, handler) {
68
68
  element.attachEvent(type, handler);
69
69
  // store the handler so it can be detached later
70
70
  this.handlers.push(arguments);
71
71
  },
72
-
72
+
73
73
  removeEventHandlers: function() {
74
74
  var handler;
75
75
  while (handler = this.handlers.pop()) {
76
76
  handler[0].detachEvent(handler[1], handler[2]);
77
77
  }
78
78
  },
79
-
79
+
80
80
  getInlineStyles: function() {
81
81
  // load inline styles
82
82
  var styleSheets = document.getElementsByTagName("style"), styleSheet;
@@ -88,7 +88,7 @@
88
88
  }
89
89
  }
90
90
  },
91
-
91
+
92
92
  trash: function() {
93
93
  // trash the old style sheets
94
94
  var styleSheets = document.styleSheets, styleSheet, i;
@@ -100,17 +100,17 @@
100
100
  }
101
101
  this.base();
102
102
  },
103
-
103
+
104
104
  getText: function(styleSheet) {
105
105
  return styleSheet.cssText || this.base(styleSheet);
106
106
  }
107
107
  });
108
-
108
+
109
109
  // remove event handlers (they eat memory)
110
110
  IE7.CSS.addEventHandler(window, "onunload", function() {
111
111
  IE7.CSS.removeEventHandlers();
112
112
  });
113
-
113
+
114
114
  // store all elements with an IE7 class assigned
115
115
  IE7.Rule.elements = {};
116
116
 
@@ -126,7 +126,7 @@
126
126
  // store created pseudo elements
127
127
  if (IE7.PseudoElement) {
128
128
  IE7.PseudoElement.hash = {};
129
-
129
+
130
130
  IE7.PseudoElement.prototype.extend({
131
131
  create: function(target) {
132
132
  var key = this.selector + ":" + target.uniqueID;
@@ -137,10 +137,10 @@
137
137
  }
138
138
  });
139
139
  }
140
-
140
+
141
141
  IE7.HTML.extend({
142
142
  elements: {},
143
-
143
+
144
144
  addRecalc: function(selector, handler) {
145
145
  // call the ancestor method to add a wrapped recalc method
146
146
  this.base(selector, function(element) {
@@ -154,7 +154,7 @@
154
154
  });
155
155
  }
156
156
  });
157
-
157
+
158
158
  // allow refreshing of IE7 fixes
159
159
  document.recalc = function(reload) {
160
160
  if (IE7.CSS.screen) {
@@ -3,10 +3,10 @@ LowPro.Version = '0.5';
3
3
  LowPro.CompatibleWithPrototype = '1.6';
4
4
 
5
5
  if (Prototype.Version.indexOf(LowPro.CompatibleWithPrototype) != 0 && window.console && window.console.warn)
6
- console.warn("This version of Low Pro is tested with Prototype " + LowPro.CompatibleWithPrototype +
6
+ console.warn("This version of Low Pro is tested with Prototype " + LowPro.CompatibleWithPrototype +
7
7
  " it may not work as expected with this version (" + Prototype.Version + ")");
8
8
 
9
- if (!Element.addMethods)
9
+ if (!Element.addMethods)
10
10
  Element.addMethods = function(o) { Object.extend(Element.Methods, o) };
11
11
 
12
12
  // Simple utility methods for working with the DOM
@@ -32,9 +32,9 @@ DOM.Builder = {
32
32
  create : function(tag, attrs, children) {
33
33
  attrs = attrs || {}; children = children || []; tag = tag.toLowerCase();
34
34
  var el = new Element(tag, attrs);
35
-
35
+
36
36
  for (var i=0; i<children.length; i++) {
37
- if (typeof children[i] == 'string')
37
+ if (typeof children[i] == 'string')
38
38
  children[i] = document.createTextNode(children[i]);
39
39
  el.appendChild(children[i]);
40
40
  }
@@ -43,14 +43,14 @@ DOM.Builder = {
43
43
  };
44
44
 
45
45
  // Automatically create node builders as $tagName.
46
- (function() {
47
- var els = ("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|" +
48
- "h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|" +
46
+ (function() {
47
+ var els = ("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|" +
48
+ "h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|" +
49
49
  "select|option|blockquote|cite|br|hr|dd|dl|dt|address|a|button|abbr|acronym|" +
50
- "script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|" +
50
+ "script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|" +
51
51
  "label|dfn|kbd|samp|var").split("|");
52
52
  var el, i=0;
53
- while (el = els[i++])
53
+ while (el = els[i++])
54
54
  window['$' + el] = DOM.Builder.tagFunc(el);
55
55
  })();
56
56
 
@@ -92,21 +92,21 @@ Object.extend(Event, {
92
92
  Event.addBehavior = function(rules) {
93
93
  var ab = this.addBehavior;
94
94
  Object.extend(ab.rules, rules);
95
-
95
+
96
96
  if (!ab.responderApplied) {
97
97
  Ajax.Responders.register({
98
- onComplete : function() {
99
- if (Event.addBehavior.reassignAfterAjax)
98
+ onComplete : function() {
99
+ if (Event.addBehavior.reassignAfterAjax)
100
100
  setTimeout(function() { ab.reload() }, 10);
101
101
  }
102
102
  });
103
103
  ab.responderApplied = true;
104
104
  }
105
-
105
+
106
106
  if (ab.autoTrigger) {
107
107
  this.onReady(ab.load.bind(ab, rules));
108
108
  }
109
-
109
+
110
110
  };
111
111
 
112
112
  Event.delegate = function(rules) {
@@ -121,7 +121,7 @@ Object.extend(Event.addBehavior, {
121
121
  rules : {}, cache : [],
122
122
  reassignAfterAjax : false,
123
123
  autoTrigger : true,
124
-
124
+
125
125
  load : function(rules) {
126
126
  for (var selector in rules) {
127
127
  var observer = rules[selector];
@@ -136,7 +136,7 @@ Object.extend(Event.addBehavior, {
136
136
  } else {
137
137
  if (!element.$$assigned || !element.$$assigned.include(observer)) {
138
138
  if (observer.attach) observer.attach(element);
139
-
139
+
140
140
  else observer.call($(element));
141
141
  element.$$assigned = element.$$assigned || [];
142
142
  element.$$assigned.push(observer);
@@ -146,26 +146,26 @@ Object.extend(Event.addBehavior, {
146
146
  });
147
147
  }
148
148
  },
149
-
149
+
150
150
  unload : function() {
151
151
  this.cache.each(function(c) {
152
152
  Event.stopObserving.apply(Event, c);
153
153
  });
154
154
  this.cache = [];
155
155
  },
156
-
156
+
157
157
  reload: function() {
158
158
  var ab = Event.addBehavior;
159
- ab.unload();
159
+ ab.unload();
160
160
  ab.load(ab.rules);
161
161
  },
162
-
162
+
163
163
  _wrapObserver: function(observer) {
164
164
  return function(event) {
165
- if (observer.call(this, event) === false) event.stop();
165
+ if (observer.call(this, event) === false) event.stop();
166
166
  }
167
167
  }
168
-
168
+
169
169
  });
170
170
 
171
171
  Event.observe(window, 'unload', Event.addBehavior.unload.bind(Event.addBehavior));
@@ -177,15 +177,15 @@ $$$ = Event.addBehavior.bind(Event);
177
177
  // and their behavior. Use Behavior.create() to make a new behavior class then use attach() to
178
178
  // glue it to an element. Each element then gets it's own instance of the behavior and any
179
179
  // methods called onxxx are bound to the relevent event.
180
- //
180
+ //
181
181
  // Usage:
182
- //
182
+ //
183
183
  // var MyBehavior = Behavior.create({
184
- // onmouseover : function() { this.element.addClassName('bong') }
184
+ // onmouseover : function() { this.element.addClassName('bong') }
185
185
  // });
186
186
  //
187
187
  // Event.addBehavior({ 'a.rollover' : MyBehavior });
188
- //
188
+ //
189
189
  // If you need to pass additional values to initialize use:
190
190
  //
191
191
  // Event.addBehavior({ 'a.rollover' : MyBehavior(10, { thing : 15 }) })
@@ -205,7 +205,7 @@ var Behavior = {
205
205
  if (Object.isFunction(properties[0]))
206
206
  parent = properties.shift();
207
207
 
208
- var behavior = function() {
208
+ var behavior = function() {
209
209
  if (!this.initialize) {
210
210
  var args = $A(arguments);
211
211
 
@@ -214,7 +214,7 @@ var Behavior = {
214
214
  behavior.attach.apply(behavior, initArgs);
215
215
  };
216
216
  } else {
217
- var args = (arguments.length == 2 && arguments[1] instanceof Array) ?
217
+ var args = (arguments.length == 2 && arguments[1] instanceof Array) ?
218
218
  arguments[1] : Array.prototype.slice.call(arguments, 1);
219
219
 
220
220
  this.element = $(arguments[0]);
@@ -275,7 +275,7 @@ Remote.Base = {
275
275
  this.options = Object.extend({
276
276
  evaluateScripts : true
277
277
  }, options || {});
278
-
278
+
279
279
  this._bindCallbacks();
280
280
  },
281
281
  _makeRequest : function(options) {
@@ -302,8 +302,8 @@ Remote.Link = Behavior.create(Remote.Base, {
302
302
  Remote.Form = Behavior.create(Remote.Base, {
303
303
  onclick : function(e) {
304
304
  var sourceElement = e.element();
305
-
306
- if (['input', 'button'].include(sourceElement.nodeName.toLowerCase()) &&
305
+
306
+ if (['input', 'button'].include(sourceElement.nodeName.toLowerCase()) &&
307
307
  sourceElement.type == 'submit')
308
308
  this._submitButton = sourceElement;
309
309
  },
@@ -28,7 +28,7 @@ code {
28
28
  font-weight: inherit;
29
29
  font-style: inherit;
30
30
  font-size: 100%;
31
- vertical-align: baseline;
31
+ vertical-align: baseline;
32
32
  }
33
33
 
34
34
  em {
@@ -1,4 +1,4 @@
1
- body {color: #193440; background: url(../images/300-ACD3E6-fff.png) repeat-x #fff; }
1
+ html, body {color: #193440; background: url(../images/300-ACD3E6-fff.png) repeat-x #fff; }
2
2
  .page-header {color: white; background: url(../images/101-3B5F87-ACD3E6.png) repeat-x #3F606E;}
3
3
  .page-header .navigation.main-nav a {
4
4
  background: url(../images/30-3E547A-242E42.png) repeat-x #242E42;
@@ -14,7 +14,6 @@ body {color: #193440; background: url(../images/300-ACD3E6-fff.png) repeat-x #ff
14
14
  .section.content {background: #FCFFF5;}
15
15
  .button {color: white; background: #5B8BA0;}
16
16
  .button:hover {background-color: #193440;}
17
- .button[disabled] { background-color: #CCCCCC; }
18
17
  .add-to-collection {background: #E6E7DE;}
19
18
  .aside { background: #E5E5E5;}
20
19
 
@@ -29,7 +28,7 @@ body {color: #193440; background: url(../images/300-ACD3E6-fff.png) repeat-x #ff
29
28
 
30
29
 
31
30
  body {
32
- width: 960px;
31
+ width: 960px;
33
32
  margin: 0 auto 20px;
34
33
  font: 12px "Lucida Grande", "Trebuchet MS", Arial, sans-serif; line-height: 18px;
35
34
  }
@@ -46,11 +45,11 @@ li {margin-left: 20px;}
46
45
  a {
47
46
  border-bottom: 1px dotted #ccc;
48
47
  color: #222; background: #fafafa;
49
- text-decoration: none;
48
+ text-decoration: none;
50
49
  }
51
50
  a:hover {
52
51
  border-bottom: 1px dotted #aaa;
53
- color: black; background: #f2f2f2;
52
+ color: black; background: #f2f2f2;
54
53
  }
55
54
  h1 a, h2 a, h3 a {border: none; background: none;}
56
55
 
@@ -117,30 +116,30 @@ form .actions input { margin: 0; }
117
116
  .field-list .input-help { color: #888;}
118
117
 
119
118
  .content-header, .content-body, .content-footer {margin: 0 45px 15px; padding: 0;}
120
- .content-header {padding: 5px 0;}
119
+ .content-header {padding: 5px 0;}
121
120
  .content-body {padding: 15px 0;}
122
121
  .content-footer {padding-bottom: 20px;}
123
122
 
124
123
  .page-header {margin-top: 25px; padding: 0 0 0;}
125
124
  .page-header h1 {
126
- margin: 0; padding: 20px 30px 30px;
125
+ margin: 0; padding: 20px 30px 30px;
127
126
  font-family: "Arial Black", Tahoma, Arial, sans-serif; font-size: 36px; letter-spacing: -1.5pt;
128
127
  }
129
128
  .page-header ul {zoom: 1; overflow: hidden;}
130
129
  .page-header li {float: left; margin-left: 0; list-style: none;}
131
130
 
132
- .page-header .navigation a,
131
+ .page-header .navigation a,
133
132
  .page-header .navigation a:hover,
134
- .page-header h1 a,
133
+ .page-header h1 a,
135
134
  .page-header h1 a:hover
136
135
  {border: none; color: white; background: none;}
137
136
 
138
137
  .page-header div.search {
139
138
  float: right;
140
- padding: 0 30px 8px 15px;
139
+ padding: 0 30px 8px 15px;
141
140
  }
142
141
  .page-header div.search label {
143
- padding-right: 10px;
142
+ padding-right: 10px;
144
143
  font: bold 9px Arial, sans-serif; text-transform: uppercase; letter-spacing: 1.0pt;
145
144
  }
146
145
  .page-header div.search input {
@@ -148,7 +147,7 @@ form .actions input { margin: 0; }
148
147
  }
149
148
  #search-results-panel {
150
149
  position: absolute; top: 35px; right: 25px; z-index: 50;
151
- width: 350px; height: 500px; overflow: auto;
150
+ width: 350px; height: 500px; overflow: auto;
152
151
  padding: 0 20px 20px; border: 1px solid #ddd;
153
152
  color: black; background: #f2f2f2;
154
153
  }
@@ -169,8 +168,8 @@ form .actions input { margin: 0; }
169
168
  font-size: 11px;
170
169
  }
171
170
  .account-nav li {
172
- float: left;
173
- margin-left: 0; padding-left: 20px;
171
+ float: left;
172
+ margin-left: 0; padding-left: 20px;
174
173
  color: #ddd;
175
174
  list-style: none;
176
175
  }
@@ -230,7 +229,7 @@ form .actions {margin: 30px 0; width: 100%; text-align: center;}
230
229
  .card h4 {margin-top: 0;}
231
230
  .card a {background: #f5f5f5;}
232
231
  .card .creation-details {
233
- display: block; color: #333; font-size: 11px;
232
+ display: block; color: #333; font-size: 11px;
234
233
  }
235
234
  .card .datetime {color: #666;}
236
235
  .card .actions { position:absolute; right: 10px; top: 10px; }
@@ -238,7 +237,7 @@ div.ordering-handle { float: left; background: #ccc; color: white; margin-right:
238
237
 
239
238
  .card.content.with-owner {
240
239
  padding: 0; margin: 10px 0 30px; border: none;
241
- background: none;
240
+ background: none;
242
241
  font-size: 11px;
243
242
  }
244
243
  .card.content .creation-details {
@@ -301,7 +300,7 @@ div.select-many .item .remove-item { float: right; }
301
300
  /* you can delete them if you over-ride it */
302
301
 
303
302
  .front-page .welcome-message {
304
- padding: 10px 20px 20px; border: 1px solid #e8e8e8;
303
+ padding: 10px 20px 20px; border: 1px solid #e8e8e8;
305
304
  color: #222;
306
305
  background: url(../images/50-ACD3E6-fff.png) repeat-x #fff;
307
306
  }
@@ -8,13 +8,13 @@
8
8
  background-repeat: no-repeat;
9
9
  }
10
10
 
11
- .inplaceeditor-form input, .inplaceeditor-form textarea,
11
+ .inplaceeditor-form input, .inplaceeditor-form textarea,
12
12
  table.new-record textarea, table.new-record input {
13
13
  border: 1px dotted #666;
14
14
  padding: 3px; width: 100%;
15
15
  }
16
16
  .inplaceeditor-form, .inplaceeditor-form input {
17
- display: inline;
17
+ display: inline;
18
18
  }
19
19
 
20
20
  /**** Admin ****/
@@ -99,4 +99,4 @@ optgroup.disabled-option {
99
99
  height: 1em;
100
100
  }
101
101
 
102
- input.nil-value { color:grey; }
102
+ input.nil-value { color:grey; }