|
170b954f
»
|
bryanlarsen |
2009-10-23 |
update CHANGES |
1 |
=== Upgrading to a new version of Hobo === |
| |
2 |
|
| |
3 |
Once you have installed a new version of Hobo, you may wish to run |
| |
4 |
|
| |
5 |
rake hobo:run_standard_generators |
| |
6 |
|
|
16ba3002
»
|
bryanlarsen |
2009-11-19 |
add hobo:run_invite_only_ge... |
7 |
or |
| |
8 |
|
| |
9 |
rake hobo:run_invite_only_generators |
| |
10 |
|
|
170b954f
»
|
bryanlarsen |
2009-10-23 |
update CHANGES |
11 |
This will run all of the standard generators, and pull in any bug |
| |
12 |
fixes or enhancements to generated code. Note that this is quite |
| |
13 |
likely to cause conflicts, so it is highly recommended that you have |
| |
14 |
your code backed up and in a change control system such as git or |
| |
15 |
subversion. |
| |
16 |
|
|
88c284bd
»
|
bryanlarsen |
2009-12-14 |
[#537 state:resolved] updat... |
17 |
=== Hobo Edge === |
| |
18 |
|
|
1d8b5a9c
»
|
bryanlarsen |
2009-12-29 |
[#592 state:resolved] [#436... |
19 |
[#537](https://hobo.lighthouseapp.com/projects/8324/tickets/537): |
|
88c284bd
»
|
bryanlarsen |
2009-12-14 |
[#537 state:resolved] updat... |
20 |
|
|
1d8b5a9c
»
|
bryanlarsen |
2009-12-29 |
[#592 state:resolved] [#436... |
21 |
`x._?.to_s` now returns nil rather than a blank string |
| |
22 |
|
|
7bc76c4d
»
|
bryanlarsen |
2010-01-03 |
comments |
23 |
[#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592): |
|
1d8b5a9c
»
|
bryanlarsen |
2009-12-29 |
[#592 state:resolved] [#436... |
24 |
|
| |
25 |
If you previously had a snippet such as this: |
| |
26 |
|
| |
27 |
<table fields="this, date, account.login"> |
| |
28 |
<login-view:> |
| |
29 |
... |
| |
30 |
</login-view:> |
| |
31 |
</table> |
|
7d84febd
»
|
bryanlarsen |
2009-12-09 |
[#542] port hjq-input-many ... |
32 |
|
|
1d8b5a9c
»
|
bryanlarsen |
2009-12-29 |
[#592 state:resolved] [#436... |
33 |
You now have to use: |
| |
34 |
|
| |
35 |
<table fields="this, date, account.login"> |
| |
36 |
<account-login-view:> |
| |
37 |
... |
| |
38 |
</account-login-view:> |
| |
39 |
</table> |
| |
40 |
|
| |
41 |
The same change has been applied to `<field-list>` |
| |
42 |
|
| |
43 |
=== Hobo 0.9.103 (AKA 1.0.RC2) === |
|
8ebd8570
»
|
bryanlarsen |
2009-12-09 |
CHANGES formatting |
44 |
|
| |
45 |
### Warning |
| |
46 |
|
| |
47 |
If you are on Rails 2.3.5 and are running Hobo as a plugin, |
|
ea99f10b
»
|
bryanlarsen |
2009-12-09 |
[#574] Add notice to CHANGE... |
48 |
please check out bug |
| |
49 |
[#574](https://hobo.lighthouseapp.com/projects/8324/tickets/574-rails-235-b0rks-our-rake-tasks-running-on-edge-hobo) |
| |
50 |
for a workaround you need to apply to your Rakefile. |
| |
51 |
|
|
7bc76c4d
»
|
bryanlarsen |
2010-01-03 |
comments |
52 |
NOTE: fixed in 0.9.104 |
| |
53 |
|
|
8ebd8570
»
|
bryanlarsen |
2009-12-09 |
CHANGES formatting |
54 |
### Bugs |
| |
55 |
|
|
7d84febd
»
|
bryanlarsen |
2009-12-09 |
[#542] port hjq-input-many ... |
56 |
This release fixes a couple of serious bugs: |
| |
57 |
[565](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/565) |
| |
58 |
and |
| |
59 |
[567](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/567). |
| |
60 |
|
|
8ebd8570
»
|
bryanlarsen |
2009-12-09 |
CHANGES formatting |
61 |
### Input-Many & has-many :through |
| |
62 |
|
|
7d84febd
»
|
bryanlarsen |
2009-12-09 |
[#542] port hjq-input-many ... |
63 |
The `<input-many>` tag in Rapid has been replaced with a version |
| |
64 |
ported from the `<hjq-input-many>` tag in Hobo-JQuery. This brings |
| |
65 |
the following enhancements: |
| |
66 |
|
| |
67 |
- it supports 0 length associations |
| |
68 |
- input-many's may be nested inside of other input-many's |
| |
69 |
- it allows the (+) and (-) buttons to be customized |
| |
70 |
- it provides a default for the `item` parameter |
| |
71 |
- it copies from a template rather than cloning the current item and clearing it |
| |
72 |
- the template may be overridden |
| |
73 |
- id's of textareas and selects and other non-input's are adjusted properly |
| |
74 |
- classdata for inner elements updated |
| |
75 |
|
| |
76 |
The new `<input-many>` tag differs from `<hjq-input-many>` in that: |
| |
77 |
|
| |
78 |
- it's written in prototype.js rather than in jquery |
| |
79 |
- it doesn't have the delayed initialization feature |
| |
80 |
- the name of the main parameter is `default` rather than `item` |
| |
81 |
- hjq-input-many allows you to provide javascript callbacks. |
| |
82 |
input-many fires rapid:add, rapid:change and rapid:remove events |
| |
83 |
that can be hooked. |
| |
84 |
|
| |
85 |
You will have to ensure that your hobo-rapid.js and clean.css files |
| |
86 |
are updated in your application. |
| |
87 |
|
| |
88 |
=== Hobo 0.9.101/0.9.102 (AKA 1.0.BROWN_PAPER_BAG) === |
|
ca022a69
»
|
bryanlarsen |
2009-12-01 |
bump to 101 |
89 |
|
| |
90 |
Yes, that was embarrassing. How the test suite failed to catch that |
| |
91 |
one is mind blowing. |
| |
92 |
|
|
10ac6fba
»
|
bryanlarsen |
2009-12-01 |
update version to 0.9.100 (... |
93 |
=== Hobo 0.9.100 (AKA 1.0.RC1) === |
|
a13c2206
»
|
bryanlarsen |
2009-11-18 |
[#537 state:resolved] |
94 |
|
|
853ee0ac
»
|
bryanlarsen |
2009-11-19 |
add note about bundles in C... |
95 |
Deletions: |
| |
96 |
|
|
fa43aca5
»
|
bryanlarsen |
2009-11-30 |
[#562 state:resolved] remov... |
97 |
- Children must now be specified in the viewhints. Hobo no longer |
| |
98 |
uses the presence of :dependent => :destroy to determine the |
| |
99 |
primary child association. |
| |
100 |
|
|
853ee0ac
»
|
bryanlarsen |
2009-11-19 |
add note about bundles in C... |
101 |
- The bundles feature of Hobo which never really worked and was |
| |
102 |
never documented has been removed from this release. |
| |
103 |
|
|
21201689
»
|
bryanlarsen |
2009-11-26 |
[#519 state:resolved] BREAK... |
104 |
- The message "You must activate your account before you can log |
| |
105 |
in. Please check your email." which used to be added to the flash |
| |
106 |
message when a user has signed up has been removed from |
| |
107 |
`hobo_do_signup`. |
| |
108 |
|
|
4e9891b7
»
|
bryanlarsen |
2009-11-28 |
[#556 state:resolved] ignor... |
109 |
- The fix for |
| |
110 |
[#556](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/556) |
| |
111 |
means that the migration generator now ignores all models that have |
| |
112 |
a `hobo_model` declaration but not a `fields` declaration. If you |
| |
113 |
have any models that do not have a fields declaration (join |
| |
114 |
tables, for example), you may wish to add a blank fields |
| |
115 |
declaration. |
|
8b02b9ca
»
|
bryanlarsen |
2009-11-26 |
[#506 state:resolved] Move ... |
116 |
|
|
a13c2206
»
|
bryanlarsen |
2009-11-18 |
[#537 state:resolved] |
117 |
Major enhancements: |
| |
118 |
|
|
b1e9231b
»
|
bryanlarsen |
2009-12-01 |
version info for CHANGES |
119 |
- Hobo now supports Ruby 1.9.1. Problems have been encountered with |
| |
120 |
Ruby 1.9.1 and Rails 2.3.4. Rails 2.3.3 and 2.3.5 work fine. |
| |
121 |
|
| |
122 |
- Hobo has been tested against the new Rails 2.3.5. JRuby users may |
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
123 |
encounter [Rails bug 3497](https://rails.lighthouseapp.com/projects/8994/tickets/3497) |
|
b1e9231b
»
|
bryanlarsen |
2009-12-01 |
version info for CHANGES |
124 |
|
| |
125 |
- Rails 2.2 is still supported for this release. Support for 2.2 |
| |
126 |
may be dropped post-1.0. |
|
16ba3002
»
|
bryanlarsen |
2009-11-19 |
add hobo:run_invite_only_ge... |
127 |
|
|
34db2d91
»
|
bryanlarsen |
2009-11-20 |
modulize Hobo::Translations |
128 |
- Translations (ie, the ht functions) has now been moved into its |
| |
129 |
own module. To access the translation functions from elsewhere |
| |
130 |
use `Hobo::Translations.ht`. Alternatively, including the |
| |
131 |
Hobo::Translations module into your class will give you `ht` as a |
| |
132 |
local instance method. (This is one of the things the |
| |
133 |
`hobo_controller` declaration does.) |
| |
134 |
|
|
22a8d716
»
|
bryanlarsen |
2009-11-27 |
add 1.9 to CHANGES |
135 |
- `rake hobo:run_invite_only_generators` was added as an alternative |
| |
136 |
to `rake hobo:run_standard_generators` for those who created their |
| |
137 |
application with the `--invite-only` flag |
| |
138 |
|
|
d7fb78f5
»
|
bryanlarsen |
2009-11-25 |
[#409 state:resolved] edito... |
139 |
- [#409](https://hobo.lighthouseapp.com/projects/8324/tickets/409) |
| |
140 |
The `<editor>` tag has been modified to display the `to_s` |
| |
141 |
representation of the object while in edit mode. The `to_html` |
| |
142 |
representation is still used in view mode. The editor tag for |
| |
143 |
HTML columns has been modified to remove the heavy sanitizing that |
|
a2189b16
»
|
bryanlarsen |
2009-11-25 |
actually, html is sanitized... |
144 |
was previously performed. HtmlString will sanitize before saving |
|
21201689
»
|
bryanlarsen |
2009-11-26 |
[#519 state:resolved] BREAK... |
145 |
to the database. You need to update your hobo-rapid.js for this |
| |
146 |
fix. Run `rake hobo:run_standard_generators` or copy the file |
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
147 |
directly from [github](http://github.com/tablatom/hobo/blob/master/hobo/rails_generators/hobo_rapid/templates/hobo-rapid.js) |
|
3cc16fc8
»
|
al2o3cr |
2009-11-27 |
[#296 state:resolved] Handl... |
148 |
|
| |
149 |
- [#296](https://hobo.lighthouseapp.com/projects/8324/tickets/296) |
| |
150 |
The migration generator now fully understands HABTM join tables. Note that |
| |
151 |
the "decorated join table" functionality that was deprecated in Rails 2.3 |
| |
152 |
is NOT supported. |
|
d7fb78f5
»
|
bryanlarsen |
2009-11-25 |
[#409 state:resolved] edito... |
153 |
|
|
572c7c14
»
|
al2o3cr |
2009-12-01 |
[#475 state:resolved] load ... |
154 |
- [#475](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/475) |
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
155 |
User-defined rich types are now loaded from `RAILS_ROOT/app/rich_types`, if it exists. |
|
572c7c14
»
|
al2o3cr |
2009-12-01 |
[#475 state:resolved] load ... |
156 |
|
|
fa43aca5
»
|
bryanlarsen |
2009-11-30 |
[#562 state:resolved] remov... |
157 |
- EnumString's can now be translated. The |
| |
158 |
[manual](http://cookbook.hobocentral.net/manual/hobofields/rich_types) |
| |
159 |
has been updated with the details. |
| |
160 |
|
| |
161 |
- ViewHint's can now be translated. Well, they mostly could in 0.9, |
|
3e5036a6
»
|
bryanlarsen |
2009-12-01 |
[#551 state:resolved] add t... |
162 |
but it has been cleaned up and [documented with |
| |
163 |
ViewHints](http://cookbook.hobocentral.net/manual/viewhints). |
| |
164 |
|
| |
165 |
- Lifecycle states can now be translated. The key is |
| |
166 |
`#{table_name}.states.#{state}` Transitions use the key `#{table_name}.actions.#{transition}` |
|
fa43aca5
»
|
bryanlarsen |
2009-11-30 |
[#562 state:resolved] remov... |
167 |
|
|
a13c2206
»
|
bryanlarsen |
2009-11-18 |
[#537 state:resolved] |
168 |
Major bug fixes: |
| |
169 |
|
| |
170 |
- [#537](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/537) |
| |
171 |
The `._?.` "smart dot" now returns 'nil' rather than calling its |
| |
172 |
trailing function more often than it used to, more closely |
| |
173 |
matching its documentation. |
| |
174 |
|
|
c71ffd52
»
|
bryanlarsen |
2009-11-24 |
CHANGES |
175 |
- [#457](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/457) |
| |
176 |
ie7-recalc.js has been updated to improve compatibility with IE6. |
| |
177 |
Please update the copy inside of your application, either by |
| |
178 |
running `rake hobo:run_standard_generators` or by copying the file |
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
179 |
directly from [github](http://github.com/tablatom/hobo/blob/master/hobo/rails_generators/hobo_rapid/templates/ie7-recalc.js) |
|
c71ffd52
»
|
bryanlarsen |
2009-11-24 |
CHANGES |
180 |
|
| |
181 |
- [#512](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/512) |
| |
182 |
Hobo now has better compatibility with non-DRYML templates |
| |
183 |
|
|
a13c2206
»
|
bryanlarsen |
2009-11-18 |
[#537 state:resolved] |
184 |
Minor enhancements: |
| |
185 |
|
|
c71ffd52
»
|
bryanlarsen |
2009-11-24 |
CHANGES |
186 |
- [#554](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/554) |
| |
187 |
The transition-buttons tag no longer displays transitions that are |
| |
188 |
not `:available_to` the user. |
| |
189 |
|
| |
190 |
- [#536](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/536) |
| |
191 |
documentation for field-list more closely matches reality |
| |
192 |
|
|
614c8ac4
»
|
bryanlarsen |
2009-11-30 |
[#543] CHANGES |
193 |
- [#536](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/543) |
| |
194 |
i18n has been silenced. It's messages can be made to reappear on |
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
195 |
the log via `HOBO_VERBOSE_TRANSLATIONS`. |
|
614c8ac4
»
|
bryanlarsen |
2009-11-30 |
[#543] CHANGES |
196 |
|
|
8b16d739
»
|
al2o3cr |
2009-12-01 |
[#555 state:resolved] add i... |
197 |
- [#555](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/555) |
| |
198 |
Specifying ignore_index :foo will ignore the index named 'foo' on the model |
| |
199 |
when generating migrations - handy for indexes that can't be generated |
| |
200 |
automatically (with a prefix length on MySQL, for instance) or existing |
| |
201 |
indexes in legacy tables. |
| |
202 |
|
|
2954f57d
»
|
bryanlarsen |
2009-12-01 |
fixed markdown on CHANGES.txt |
203 |
See also the [git log](http://github.com/tablatom/hobo/commits/v0.9.100) |
|
a13c2206
»
|
bryanlarsen |
2009-11-18 |
[#537 state:resolved] |
204 |
|
|
6e91bdb6
»
|
bryanlarsen |
2009-11-17 |
update CHANGES |
205 |
=== Hobo 0.9.0 === |
|
e7f9deae
»
|
bryanlarsen |
2009-10-20 |
hobo_index_for was not work... |
206 |
|
|
170b954f
»
|
bryanlarsen |
2009-10-23 |
update CHANGES |
207 |
Major enhancements: |
| |
208 |
|
|
a793ff2f
»
|
bryanlarsen |
2009-10-25 |
CHANGES |
209 |
- Internationalization! Through the hard work of soey and Spiralis, |
| |
210 |
we now have internationalization support in Hobo. The manual |
| |
211 |
page is on the |
| |
212 |
[cookbook](http://cookbook.hobocentral.net/manual/i18n). Locales |
|
d24effa2
»
|
bryanlarsen |
2009-10-29 |
CHANGES |
213 |
are available on |
| |
214 |
[github](http://github.com/Spiralis/hobo-i18n-locales). |
| |
215 |
|
|
bd611352
»
|
bryanlarsen |
2009-10-29 |
tiny CHANGES update |
216 |
- Index generation: Matt Jones' automatic index generation code has |
|
d24effa2
»
|
bryanlarsen |
2009-10-29 |
CHANGES |
217 |
been merged. The default Rails index names are very long, so this |
| |
218 |
is unlikely to work well on Oracle, which has a 30 character |
| |
219 |
limit. Testing against Postgres, Oracle, SQL Server and JDBC has |
|
bd611352
»
|
bryanlarsen |
2009-10-29 |
tiny CHANGES update |
220 |
been extremely limited. To generate indices run script/generate |
| |
221 |
hobo_migration. |
|
a793ff2f
»
|
bryanlarsen |
2009-10-25 |
CHANGES |
222 |
|
|
170b954f
»
|
bryanlarsen |
2009-10-23 |
update CHANGES |
223 |
- New projects now have a summary page on /front/summary that |
| |
224 |
provides application information to the administrator. Current |
| |
225 |
projects may add this action by running the |
| |
226 |
`hobo_front_controller` generator. |
| |
227 |
|
|
84524763
»
|
bryanlarsen |
2009-11-16 |
update CHANGES.txt with #530 |
228 |
- STI derived classes can add additional fields to their parent |
| |
229 |
class with the fields block. Note that the "can't generate a |
| |
230 |
migration for STI base and derived classes all at once" issue |
| |
231 |
still applies. In general, STI handling should now work much |
| |
232 |
better. |
|
e7c47686
»
|
al2o3cr |
2009-11-09 |
update changelog |
233 |
|
| |
234 |
- [Bug 464](https://hobo.lighthouseapp.com/projects/8324/tickets/464-transition-buttons-should-have-a-option-to-link-to-forms-instead-for-transitions-that-take-parameters) |
|
84524763
»
|
bryanlarsen |
2009-11-16 |
update CHANGES.txt with #530 |
235 |
The transition-buttons tag now generates buttons that link to the |
| |
236 |
transition page for transitions that require parameters. |
|
e7c47686
»
|
al2o3cr |
2009-11-09 |
update changelog |
237 |
|
|
b4873b1e
»
|
bryanlarsen |
2009-11-16 |
[#532 state:resolved] add H... |
238 |
- [Bug 532](https://hobo.lighthouseapp.com/projects/8324/tickets/532) |
| |
239 |
In previous versions, you had to add the new HTML5 tags to |
| |
240 |
RAILS_ROOT/config/dryml_static_tags.txt. This version whitelists |
| |
241 |
all HTML5 tags except for aside, section, header and footer, which |
| |
242 |
conflict with existing Rapid tags. |
| |
243 |
|
|
e7f9deae
»
|
bryanlarsen |
2009-10-20 |
hobo_index_for was not work... |
244 |
Major bug fixes: |
| |
245 |
|
|
84524763
»
|
bryanlarsen |
2009-11-16 |
update CHANGES.txt with #530 |
246 |
- [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530) |
| |
247 |
is a critical bug for invite-only projects. To incorporate the |
| |
248 |
fix, you must rerun your generators or follow the instructions in |
| |
249 |
the [commit](http://github.com/tablatom/hobo/commit/17247eac8a78f8b36dcc3b9684a3e4ec8da32a23) |
| |
250 |
|
|
e7f9deae
»
|
bryanlarsen |
2009-10-20 |
hobo_index_for was not work... |
251 |
- [Bug |
| |
252 |
480](https://hobo.lighthouseapp.com/projects/8324/tickets/480-find_owner_and_association-method-for-has_many-associations) |
| |
253 |
Owner actions now work with has_many associations |
| |
254 |
|
|
e7c47686
»
|
al2o3cr |
2009-11-09 |
update changelog |
255 |
- [Bug 516](https://hobo.lighthouseapp.com/projects/8324/tickets/516-association-name-as-parameter-in-lifecycle-step-almost-works) |
| |
256 |
Specifying a belongs_to association as a lifecycle param works; it appears as a select-one on the generated page. |
| |
257 |
|
| |
258 |
- [Bug 515](https://hobo.lighthouseapp.com/projects/8324/tickets/515-virtual-boolean-field-uninitialized-constant-hobobooleancolumn_type) |
| |
259 |
Virtual :boolean fields declared with attr_accessor now work |
| |
260 |
|
| |
261 |
- [Bug 484](https://hobo.lighthouseapp.com/projects/8324/tickets/484-transition-actions-with-key-fail-if-model-isnt-visible-to-guests) |
| |
262 |
Transition actions that require a key no longer check if the model is visible to Guest |
| |
263 |
|
| |
264 |
- [Bug 485](https://hobo.lighthouseapp.com/projects/8324/tickets/485-make-lifecycles-on-sti-subclasses-behave) |
| |
265 |
Lifecycle support on STI models works now. Note that derived classes DO NOT inherit any of the parent lifecycle implementation. |
| |
266 |
|
| |
267 |
- [Bug 387](https://hobo.lighthouseapp.com/projects/8324/tickets/387-inheritance-sti-models-name-not-propagating) |
| |
268 |
STI derived classes now inherit settings like name_attribute correctly. |
| |
269 |
|
| |
270 |
- [Bug 533](https://hobo.lighthouseapp.com/projects/8324/tickets/533-remove-id-from-hidden-field-for-check-box) |
| |
271 |
The hidden field generated with a checkbox input shouldn't have an ID. |
| |
272 |
|
| |
273 |
- [Bug 526](https://hobo.lighthouseapp.com/projects/8324/tickets/526-routing-error-does-not-render-not-found-page) |
| |
274 |
Routing errors now render not-found-page, rather than the default Rails routing error message. |
| |
275 |
|
|
0fe89742
»
|
bryanlarsen |
2009-10-23 |
update CHANGES.txt |
276 |
Minor Enhancements: |
| |
277 |
|
| |
278 |
- Aside collections now have a new-link at the bottom (inside the |
| |
279 |
preview-with-more) |
| |
280 |
[#421](https://hobo.lighthouseapp.com/projects/8324/tickets/421-auto_actions_for-doesnt-create-add-button-in-sidebar) |
| |
281 |
|
|
0a2f15fa
»
|
bryanlarsen |
2009-10-23 |
update CHANGES |
282 |
- the manual now includes a Generators section, and a subsite |
| |
283 |
tutorial has been added. |
| |
284 |
|
|
d24effa2
»
|
bryanlarsen |
2009-10-29 |
CHANGES |
285 |
- [Bug |
| |
286 |
386](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/386) |
| |
287 |
and [Bug |
| |
288 |
501](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/501) |
| |
289 |
have been fixed, reducing the number of extraneous migrations that |
| |
290 |
the hobo_migration generator creates. These are actually Rails |
| |
291 |
and/or database bugs we're working around. For instance, MySQL |
| |
292 |
does not allow default values for text columns, so Rails silently |
| |
293 |
ignores them. SQLite does not allow scale or precision settings on |
| |
294 |
decimal fields. These types of bugs are good reasons why you |
| |
295 |
should use the same type of database for development, testing and |
| |
296 |
production. |
| |
297 |
|
|
e7c47686
»
|
al2o3cr |
2009-11-09 |
update changelog |
298 |
- A new view_hint, 'inline_booleans', controls whether boolean attributes are displayed in the header (default behavior |
| |
299 |
of Rapid show pages) or inline with the rest of the field-list. You can either pass a list of field names, or 'true' |
| |
300 |
(without quotes) to make all booleans inline. |
| |
301 |
|
| |
302 |
- hobo_show now accepts a model instance as a first parameter. This restores symmetry with the other hobo_* actions. |
| |
303 |
|
| |
304 |
- on Rails 2.3 and above, routes will be generated with the optional .:format suffix, and the formatted_* routes are skipped. |
| |
305 |
|
|
6e91bdb6
»
|
bryanlarsen |
2009-11-17 |
update CHANGES |
306 |
- non-required fields that are marked :unique will now allow nil |
| |
307 |
values. |
| |
308 |
|
| |
309 |
Minor Bug Fixes |
| |
310 |
|
| |
311 |
- [Bug 540](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/540) |
| |
312 |
Hobo::Permissions::Associations::HasManyThroughAssociations#create! |
| |
313 |
did not save as the "!" implied. |
| |
314 |
|
| |
315 |
See the [github log](http://github.com/bryanlarsen/hobo/commits/v0.9.0) |
|
0fe89742
»
|
bryanlarsen |
2009-10-23 |
update CHANGES.txt |
316 |
|
|
e7f9deae
»
|
bryanlarsen |
2009-10-20 |
hobo_index_for was not work... |
317 |
=== Hobo 0.8.10 === |
|
ff597ed5
»
|
bryanlarsen |
2009-10-15 |
Tag the 0.8.10 brown paper ... |
318 |
|
| |
319 |
This is a brown paper bag release. The fix for Bug 473 was not |
| |
320 |
properly tested. Thanks Iain Beeston for quickly sending us a patch. |
| |
321 |
|
|
d25762ec
»
|
bryanlarsen |
2009-10-12 |
update CHANGES.txt |
322 |
=== Hobo 0.8.9 === |
| |
323 |
|
| |
324 |
Enhancements: |
| |
325 |
|
| |
326 |
- |
| |
327 |
[precompile_taglibs](http://groups.google.com/group/hobousers/browse_thread/thread/29694e75f60c0870/6b05f75f2f7e91f5) |
| |
328 |
allows you to precompile taglibs during application startup rather |
| |
329 |
than on demand. |
| |
330 |
|
| |
331 |
- `--invite-only` options added ti generator |
| |
332 |
|
| |
333 |
Major bug fixes: |
| |
334 |
|
| |
335 |
- [Bug |
| |
336 |
461](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/461-hobo-is-not-compatible-with-firefox-35): |
| |
337 |
Firefox 3.5 problems were caused by lowpro. For existing projects, |
| |
338 |
you will have to update your copy of [public/javascripts/lowpro.js](http://github.com/tablatom/hobo/raw/master/hobo/rails_generators/hobo_rapid/templates/lowpro.js) |
| |
339 |
|
| |
340 |
- [Bug |
| |
341 |
477](http://groups.google.com/group/hobousers/browse_thread/thread/5a15288f9703a8a4/58a8dee62b237d29) |
| |
342 |
caused problems when the user submitted a form from the index page. |
| |
343 |
|
| |
344 |
- "collection" was renamed to "collection-heading" in the Rapid |
| |
345 |
generated show-page. |
| |
346 |
|
|
07f4770d
»
|
bryanlarsen |
2009-10-14 |
release 0.8.9 |
347 |
- [Bug |
| |
348 |
473](https://hobo.lighthouseapp.com/projects/8324/tickets/473-use-timezonenow-instead-of-timenow#ticket-473-5): |
| |
349 |
Hobo now uses any time zone's configured for the application rather |
| |
350 |
than using the server's time zone. |
| |
351 |
|
|
d25762ec
»
|
bryanlarsen |
2009-10-12 |
update CHANGES.txt |
352 |
Minor bug fixes and enhancements: |
| |
353 |
|
|
6e91bdb6
»
|
bryanlarsen |
2009-11-17 |
update CHANGES |
354 |
See the [github log](http://github.com/bryanlarsen/hobo/commits/v0.8.9) |
|
d25762ec
»
|
bryanlarsen |
2009-10-12 |
update CHANGES.txt |
355 |
|
|
a346ba63
»
|
Bryan Larsen |
2009-06-24 |
bump gem to 0.8.8 |
356 |
=== Hobo 0.8.8 === |
| |
357 |
|
| |
358 |
Hobo 0.8.8 comes with some slight changes to the colour scheme for the |
| |
359 |
"clean" theme. To apply these enhancements, you may need to run |
| |
360 |
`rake hobo:run_standard_generators`. |
| |
361 |
|
| |
362 |
Significant bug fixes: |
| |
363 |
|
| |
364 |
- [Bug 422](https://hobo.lighthouseapp.com/projects/8324/tickets/422): Because of it's switch to Rack, Rails 2.3 changed the interaction |
| |
365 |
between checkboxes and their accompanying hidden field. This caused |
| |
366 |
us to always return "false" for a checkbox, even if it was checked. |
| |
367 |
|
| |
368 |
- [Bug 425](https://hobo.lighthouseapp.com/projects/8324/tickets/425): Hobo 0.8.6 removed support for the non-working |
| |
369 |
big_decimal. However, this shared some code with decimal, so we |
| |
370 |
removed a little bit too much code. This restores the missing |
| |
371 |
editor and input for the decimal type. |
| |
372 |
|
| |
373 |
Minor bug fixes: |
| |
374 |
|
| |
375 |
- [Bug 413](https://hobo.lighthouseapp.com/projects/8324/tickets/413): add target attribute to `<nav-item>` links |
| |
376 |
|
| |
377 |
- [Bug 420](https://hobo.lighthouseapp.com/projects/8324/tickets/420): `acts_as_list` controls visible to Guest |
| |
378 |
|
| |
379 |
- [Bug 446](https://hobo.lighthouseapp.com/projects/8324/tickets/446): `<transition-button>` not working |
| |
380 |
|
| |
381 |
- Migration generator fix - would occasionally suggest a default |
| |
382 |
migration name that already exists |
| |
383 |
|
| |
384 |
Minor enhancements: |
| |
385 |
|
| |
386 |
- [Bug 434](https://hobo.lighthouseapp.com/projects/8324/tickets/434): allow String or Hash to be passed in a :redirect optione |
| |
387 |
|
| |
388 |
- `key_timeout` option added to lifecycles |
| |
389 |
|
| |
390 |
- [Bug 437](https://hobo.lighthouseapp.com/projects/8324/tickets/437): 'options' attribute added to `<check-many>` |
| |
391 |
|
| |
392 |
- [Bug 424](https://hobo.lighthouseapp.com/projects/8324/tickets/424): 'limit' option added to `<select-one>` |
| |
393 |
|
| |
394 |
- [Bug 440](https://hobo.lighthouseapp.com/projects/8324/tickets/440): support blank Time and DateTime inputs |
| |
395 |
|
| |
396 |
- [Bug 423](https://hobo.lighthouseapp.com/projects/8324/tickets/423): default content for input-many |
| |
397 |
|
| |
398 |
- [Bug 379](https://hobo.lighthouseapp.com/projects/8324/tickets/379): multiple warning messages on email validation |
| |
399 |
|
| |
400 |
- [Bug 404](https://hobo.lighthouseapp.com/projects/8324/tickets/404): Extension to Hobo::Model class to check ViewHints for error |
| |
401 |
validations |
| |
402 |
|
| |
403 |
- [Bug 415](https://hobo.lighthouseapp.com/projects/8324/tickets/415): Visiting sign-up page when logged in gives permission |
| |
404 |
denied |
| |
405 |
|
| |
406 |
- Rapid navigation - added name attribute to `<nav-item>` to make it easier to select the current nav item in some cases (e.g. dynamic nav item text) |
| |
407 |
|
| |
408 |
- Rapid forms -- added url attribute to `<remote-method-button>` |
| |
409 |
|
| |
410 |
- HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs |
| |
411 |
|
| |
412 |
|
|
1136ca09
»
|
bryanlarsen |
2009-05-14 |
Bump gem to 0.8.7 |
413 |
=== Hobo 0.8.7 === |
| |
414 |
|
| |
415 |
I forgot to refresh the Manifest, so this is a brown paper bag release. |
| |
416 |
|
|
72ee3b7b
»
|
bryanlarsen |
2009-05-13 |
update CHANGES.txt for 0.8.6 |
417 |
=== Hobo 0.8.6 === |
| |
418 |
|
| |
419 |
Hobo 0.8.6 includes Rails 2.3 support. Rails 2.2 support has been |
| |
420 |
maintained. Rails 2.1 support was dropped in 0.8.5. |
| |
421 |
|
| |
422 |
Significant effort was put into unit and integration tests in this |
| |
423 |
release. Unit tests may be run via `rake test_all`. Integration |
| |
424 |
tests live in agility: http://github.com/tablatom/agility/tree/master. |
| |
425 |
|
| |
426 |
Some small changes were made to item orders to fix bugs with IE6. |
| |
427 |
This may require updates in custom stylesheets. |
| |
428 |
|
| |
429 |
Previously, the lifecycle transitions had a parameter called :params |
| |
430 |
in the documentation and :update in the code. The code has been |
| |
431 |
updated to match the documentation. |
| |
432 |
|
| |
433 |
Support for `big_integer` in HoboFields has been dropped. It appears |
| |
434 |
that this has never worked correctly. |
| |
435 |
|
| |
436 |
input-many is now a polymorphic tag and the default tag for has_many |
| |
437 |
inputs. |
| |
438 |
|
| |
439 |
The 'content' parameter has been renamed to 'description' for |
| |
440 |
generated cards. |
| |
441 |
|
| |
442 |
input-many and sortable-collection have been improved. |
| |
443 |
|
| |
444 |
Many tags have had parameters and attributes added to improve |
| |
445 |
customization. |
| |
446 |
|
| |
447 |
Many bugs have been fixed. See the [lighthouse]( |
| |
448 |
http://hobo.lighthouseapp.com) or the [git commit |
| |
449 |
history](http://github.com/tablatom/hobo/commits/master/) for more |
| |
450 |
details. |
| |
451 |
|
| |
452 |
0.8.6 is a release candidate for Hobo 1.0. At this point we do not |
| |
453 |
believe that there are any outstanding bugs on Hobo that do not have |
| |
454 |
workarounds. The |
| |
455 |
[lighthouse](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/bins/8323) |
| |
456 |
shows the remaining tickets scheduled for 1.0 |
| |
457 |
|
|
42780265
»
|
tablatom |
2008-12-09 |
Bump version numbers to 0.8... |
458 |
=== Hobo 0.8.5 === |
| |
459 |
|
| |
460 |
New permission system |
| |
461 |
|
| |
462 |
Various fixes |
| |
463 |
|
| |
464 |
Now runs permission checks *before* callbacks, not after |
| |
465 |
|
| |
466 |
In the switch to the new permissions system, we changed to running them after all callbacks. This turned |
| |
467 |
out to be wrong. Permissions should only be about what the user tried to change, not other changes |
| |
468 |
triggered by application logic |
| |
469 |
|
| |
470 |
API change: Web method permissions should now be defined as foo_permitted? instead of foo_call_permitted? |
| |
471 |
|
| |
472 |
Updated hobo command and hobo generator to use the new config.gem style for apps that use the Hobo gem |
| |
473 |
|
| |
474 |
The --add-gem option to script/generate hobo will add "config.gem 'hobo'" to environment.rb. The hobo command |
| |
475 |
does this automatically |
| |
476 |
|
| |
477 |
Lifecycles fix -- state_name would throw a nil error if there was no state (not returns nil) |
| |
478 |
|
| |
479 |
This was causing the :new_key option to fail on a create step |
| |
480 |
|
| |
481 |
Fixes to problems with live-search introduced with the Rails 2.2 upgrade |
| |
482 |
|
| |
483 |
|
| |
484 |
|
|
86dce6cb
»
|
tablatom |
2008-12-05 |
CHANGES.txt for 0.8.4 |
485 |
=== Hobo 0.8.4 === |
| |
486 |
|
| |
487 |
Rails 2.2 compatible. Rails 2.1 support dropped. |
| |
488 |
|
| |
489 |
Removing the Rails routing patch (from the hobo generator) that is no longer needed. |
| |
490 |
Existing apps can delete this from config/initializers/patch_routing.rb |
| |
491 |
|
| |
492 |
BREAKING: New permission system |
| |
493 |
|
| |
494 |
This is the major feature of this release. The big change is that we now use the dirty tracking features |
| |
495 |
of Active Record for update permission, rather than passing that weird 'new' object. We also use the |
| |
496 |
acting_user method throughout, rather than passing the user as an argument. |
| |
497 |
|
| |
498 |
See the docs online: http://cookbook.hobocentral.net/manual/permissions |
| |
499 |
|
| |
500 |
|
| |
501 |
Removing special Hobo semantics for association.new which was breaking the Rails API, and added |
| |
502 |
#new_candidate |
| |
503 |
|
| |
504 |
association.new_candidate instantiates the record but does not add it to the collection. |
| |
505 |
|
| |
506 |
Fix to linkable? helpers when context responds to origin but is not a collection |
| |
507 |
|
| |
508 |
POSSIBLY BREAKING: Improved multi-model form support |
| |
509 |
|
| |
510 |
has_many and belongs_to now support the :accessible => true option, which allows mass-asssignment of |
| |
511 |
attributes to work with sub-hashes that correspond to associations. Docs to follow! |
| |
512 |
|
| |
513 |
BREAKING: Lifecycle improvements |
| |
514 |
|
| |
515 |
The lifecycle DSL has been tidied up. Various changes to the semantics. |
| |
516 |
|
| |
517 |
Lifecycle validations are now supported (e.g. validates_presence_of :foo, :on => :my_transition) |
| |
518 |
|
| |
519 |
Also small improvements to the controller layer lifecycles support |
| |
520 |
|
| |
521 |
See: http://cookbook.hobocentral.net/manual/lifecycles |
| |
522 |
|
| |
523 |
New ViewHints mechanism |
| |
524 |
|
| |
525 |
Classes in app/viewhints are a place to declare things about your models that are view layer concerns. |
| |
526 |
For example, you can give the presenation name for a field if this should be different from the back-end |
| |
527 |
name. You can give "field help" for each field. You can specify which collections are the "children" of a |
| |
528 |
model from a UI point of view. |
| |
529 |
|
| |
530 |
Rapid <select-many> -- removed use of <a-or-an> as it gets some words wrong (e.g. "an user") |
| |
531 |
|
| |
532 |
Rapid -- moved <or-cancel> to rapid_forms.dryml |
| |
533 |
|
| |
534 |
Model controller fix -- owner instance variable should be named after the association, not the class (e.g. |
| |
535 |
@author, not @user) |
| |
536 |
|
| |
537 |
View hints fix -- inconsistent results due to class reloading problem in dev mode (was causing inconsistent |
| |
538 |
Rapid pages to be generated) |
| |
539 |
|
| |
540 |
Hobo Models -- added support for 1-to-1 relationships to Hobo::Model.reverse_reflection |
| |
541 |
|
| |
542 |
This puts us a step closer to better support for 1-to-1 relationships in various places, e.g. for owner |
| |
543 |
actions |
| |
544 |
|
| |
545 |
Improved error message when declaring auto_actions_for on an association that doesn't have the |
| |
546 |
corresponding reverse-reflection |
| |
547 |
|
| |
548 |
Fixed query_params helper -- should URI decode the parameters |
| |
549 |
|
| |
550 |
Rapid -- simplified <filter-menu> (no need for a hidden tag) |
| |
551 |
|
| |
552 |
Rapid pages -- added <heading:> parameter to account page |
| |
553 |
|
| |
554 |
DRYML -- fix to merge-attrs="a, b, c" |
| |
555 |
|
| |
556 |
Rapid <input-many> -- added support for disable attribute |
| |
557 |
|
| |
558 |
Fix to <hobo-rapid-javascripts> when forgery protection is disabled |
| |
559 |
|
| |
560 |
User model - validates_presence_of password confirmation, in addition to validates_confirmation_of |
| |
561 |
|
| |
562 |
Fixes #310 - thanks to Jaub Suder |
| |
563 |
|
| |
564 |
BREAKING: Rapid page generators -- Renamed 'primary-content' parameter in <show-page> to 'description' |
| |
565 |
|
| |
566 |
User controller -- made account action follow the auto_actions declaration |
| |
567 |
|
| |
568 |
Changed hobo->hobofields->hobosupport gem dependency rules to require the exact version |
| |
569 |
|
| |
570 |
User model generator -- Hobo apps now have people log in with their email address by default, and the user |
| |
571 |
has a 'name' field rather than 'username'. |
| |
572 |
|
| |
573 |
Note this will not effect existing apps |
| |
574 |
|
| |
575 |
Clean theme - fix to styling of login page in IE6 |
| |
576 |
|
| |
577 |
Rapid javascripts -- fix to in-place-editor errors not showing up properly (#324). Thanks to Jakub Suder |
| |
578 |
|
| |
579 |
DRYML -- fixed duplicate ID bug with ajax parts (#326) |
| |
580 |
|
| |
581 |
POSSIBLY BREAKING: Models -- removed support for chronic parsing of times / dates. |
| |
582 |
|
| |
583 |
Was wrong to hardwire this support in for every date/time field. Will be added back in as a rich type |
| |
584 |
at some point |
| |
585 |
|
| |
586 |
Scopes - Fixed association.conditions with scopes for has_many :through |
| |
587 |
|
| |
588 |
Rapid <hidden-fields> -- now honours the 'skip' attribute under all circumstances |
| |
589 |
|
| |
590 |
Rapid <page> -- app-stylesheet param, to make it easier to add in custom stylesheets, but have them |
| |
591 |
*before* application.css |
| |
592 |
|
| |
593 |
Rapid <stylesheet> -- call stylesheet_link_tag once only so that asset combining is supported |
| |
594 |
|
| |
595 |
DRYML -- allow <include plugin="foo"/> as a shorthand for <include src="foo" plugin="foo"/> |
| |
596 |
|
| |
597 |
Removed super_user? and adminstrator? from Hobo::Guest, and added administrator? to Guest generator |
| |
598 |
|
| |
599 |
administrator? should not be present at all in core Hobo, it's just a default starting point |
| |
600 |
|
| |
601 |
Rapid <input for='boolean'> -- don't add the hidden field if the checkbox is disabled - thanks to Tola. |
| |
602 |
|
| |
603 |
Rapid <nav-item> -- Fix to 'current' CSS class when a body is not given |
| |
604 |
|
| |
605 |
Rapid pages -- fix to selecting current nav item |
| |
606 |
|
| |
607 |
Added hobo:run_standard_generators task (*NIX only) |
| |
608 |
|
| |
609 |
Guest - changed default #to_s and #login to use lower case |
| |
610 |
|
| |
611 |
Rapid <remote-method-button> -- allow method name to use dashes, and raise an error if there's no such web |
| |
612 |
method |
| |
613 |
|
| |
614 |
DRYML -- never run DRYML generators in production mode. Instead run |
| |
615 |
|
| |
616 |
rake hobo:generate_taglibs |
| |
617 |
|
| |
618 |
Rapid JavaScripts -- adding custom events to <select-many> |
| |
619 |
|
| |
620 |
Rapid JavaScript -- added option to specify { message: false } on ajaxRequest to disable the spinner |
| |
621 |
|
| |
622 |
Model Controller -- fix to re_render_form when in a subsite |
| |
623 |
|
| |
624 |
hobo_model_controller generator -- adding support for generating subsite controllers |
| |
625 |
|
| |
626 |
HoboSupport -- adding remove and remove_all (plus mutating versions with a !) to string - better name for |
| |
627 |
sub(x, '') |
| |
628 |
|
| |
629 |
DRYML -- added support for scope.even_odd to the attribute version of repeat (was only on the tag version) |
| |
630 |
|
| |
631 |
DRYML -- improved error message for mixed param / non-param tags |
| |
632 |
|
| |
633 |
Model controller -- fix to index actions on non-paginated formats (was passing will-paginate options to a |
| |
634 |
regular find) |
| |
635 |
|
| |
636 |
Migration generator -- adding option: --force-drop-yes-i-really-mean-it-i-know-what-i-am-doing-dammit |
| |
637 |
|
| |
638 |
Not really, it's actually just --force-drop |
| |
639 |
|
| |
640 |
With this option it won't ask you "drop or rename?" it will just drop |
| |
641 |
|
| |
642 |
HoboFields -- fix to EnumString when values are not valid contant names |
| |
643 |
|
| |
644 |
Rapid -- added support for 'disabled' to <select-many> |
| |
645 |
|
| |
646 |
Enhanced ajax mechanism so that it can refresh form inputs (was previously not able to figure out the name |
| |
647 |
attributes) |
| |
648 |
|
| |
649 |
Rapid -- adding support for 'disabled' attribute to <select-one> |
| |
650 |
|
| |
651 |
Rapid -- added a 'no-edit' attribute to <input> and <field-list>. Gives control over how |
| |
652 |
non-editable fields are handled. |
| |
653 |
|
| |
654 |
- view: render the current value using the `<view>` tag |
| |
655 |
- disable: render the input as normal, but add HTML's `disabled` attribute |
| |
656 |
- skip: render nothing at all |
| |
657 |
- ignore: render the input normally. That is, don't even perform the edit check. |
| |
658 |
|
| |
659 |
|
| |
660 |
Added <dev-user-changer> to the user 'simple pages' (login, signup...) |
| |
661 |
|
| |
662 |
User conrtroller -- redirect to home_page if a logged-in user visits the login page |
| |
663 |
|
| |
664 |
Model controller -- fix to lifecycle form inputs not showing up after a validation error |
| |
665 |
|
| |
666 |
Rapid -- changed rules for <delete-button> chosing whether to be in-place or not |
| |
667 |
|
| |
668 |
BREAKING (minor): removed 'type' attribute from <type-name> |
| |
669 |
|
| |
670 |
BREAKING (minor): Rapid -- renamed 'separator' attribute of <comma-list> to 'join' |
| |
671 |
|
| |
672 |
Rapid -- moved live-search and filter-menu tags into rapid_plus |
| |
673 |
|
| |
674 |
Rapid -- removed unused <belongs-to-view>. Renamed <has-many-view> to <collection-view>, made it |
| |
675 |
polymorphic, and extracted the default definition as <links-for-collection> |
| |
676 |
|
| |
677 |
Rapid -- tweak to behaviour of <name>. Is now more sensible when called on a non-AR class |
| |
678 |
|
| |
679 |
Re-organisation and documentation for Rapid Document Tags |
| |
680 |
|
| |
681 |
BREAKING: Deleted <panel> tag. |
| |
682 |
|
| |
683 |
Models - fix to overriding of not_found and permission_denied in applicatin controller. Also fix to bug in |
| |
684 |
permission denied |
| |
685 |
|
| |
686 |
Models -- fix to preceding dashes in to_param (sometimes showed up in the URL) |
| |
687 |
|
| |
688 |
DRYML -- allow - instead of _ in repeat/if/unless, when not code attribute |
| |
689 |
|
| |
690 |
HoboSupport - re-org of the file layout |
| |
691 |
|
| |
692 |
HoboFields -- new rich type :serialized (HoboFields::SerializedObject) |
| |
693 |
|
| |
694 |
example usage: foo :serialized, :class => Array |
| |
695 |
|
| |
696 |
Also some fixes to wrapping of rich types that were needed |
| |
697 |
|
| |
698 |
HoboFields -- adding 'declared' callback to rich types. Called whenever a field of that type is declared |
| |
699 |
|
| |
700 |
See HoboFields::HtmlString for an example |
| |
701 |
|
| |
702 |
HoboFields -- new types RawHtmlString and RawMarkdownString that are not sanitized. Plus fix to sanitizing |
| |
703 |
|
| |
704 |
DRYML -- new DrymlDoc facility. Starting point for a roll-your-own documentation generator |
| |
705 |
|
| |
706 |
Used to generate the cookbook taglib API reference. |
| |
707 |
|
| |
708 |
hobo_front_controller generator -- use map.root for adding the root route |
| |
709 |
|
| |
710 |
Model controller -- can call #re_render_form without an arg (for when you know params[:page_path] is set) |
| |
711 |
|
| |
712 |
Support for non-numeric model IDs |
| |
713 |
|
| |
714 |
Rails has no problems with these but Hobo was assuming integer IDs in a few places. |
| |
715 |
|
| |
716 |
Fix to default ApplicationController#home_page -- was broken when the app lives in a sub-directory |
| |
717 |
|
| |
718 |
Rapid -- allow '-' instead of '_' in <with-fields> (and therefore, <field-list> and <table field='...'>) |
| |
719 |
|
| |
720 |
Rapid -- made <select-many> submit IDs instead of names, so that it also works with models that don't have a |
| |
721 |
unique name |
| |
722 |
|
| |
723 |
Cleanup of dom_id / typed_id. |
| |
724 |
|
| |
725 |
We now use the term "typed id" throughout to refer to a string that includes a model name and an ID. |
| |
726 |
|
| |
727 |
These now use ':' instead of '_' as the model-name/id separator, which has the benefit of allowing |
| |
728 |
non-integer keys |
| |
729 |
|
| |
730 |
HoboSupport -- adding String#safe_constantize. Returns nil (instead of raising a NameError) the constant |
| |
731 |
does not exist and cannot be loaded by ActiveSupport |
| |
732 |
|
| |
733 |
BREAKING. Rapid pages -- separated out application.js from other JS includes and added a <custom-scripts:> |
| |
734 |
parameter |
| |
735 |
|
| |
736 |
Adding extra scripts using this new parameter will ensure application.js comes last and can thus override |
| |
737 |
behaviour of custom scripts. |
| |
738 |
|
| |
739 |
This is a breaking change because apps that have customised the list of JS includes might not now have |
| |
740 |
the set of scripts they expect |
| |
741 |
|
| |
742 |
Rapid - adding polymorphic <collection-input> tag as a place to define the kind of input you want used for |
| |
743 |
collections of a given model |
| |
744 |
|
| |
745 |
Rapid javascripts -- making non-ajax HTML Editor pluggable |
| |
746 |
|
| |
747 |
Plugins assign a function to Hobo.makeHtmlEditor. See hoboyui plugin for an example (github.com/tablatom) |
| |
748 |
|
| |
749 |
Adding XSS protection to HoboFields rich types (Sanitizing) |
| |
750 |
|
| |
751 |
Rapid -- new tag <check-many>. Add remove items to a has_many :through by checking the ones you want. Obviously |
| |
752 |
this is only suitable when the number of items in the target model is small. (e.g. blog post categories) |
| |
753 |
|
| |
754 |
Page generators -- better titles for collection previews in aside on a user's page |
| |
755 |
|
| |
756 |
Page generators -- improved collection heading on show-page for a user |
| |
757 |
|
| |
758 |
Fixes to "remember me" |
| |
759 |
|
| |
760 |
Card generator -- observe view-hints when putting a count on the card |
| |
761 |
|
| |
762 |
Rapid -- change to css classes on new-object forms (was 'new-post' now 'new post') |
| |
763 |
|
| |
764 |
Rapid -- workaround for the fact that Maruku defines a to_html method on String |
| |
765 |
|
| |
766 |
Page generators -- changed heading used on <edit-page> |
| |
767 |
|
| |
768 |
HoboSupport -- added Object#present? that is on it's way from edge Rails (will remove when Rails provides |
| |
769 |
this) |
| |
770 |
|
| |
771 |
User pages: |
| |
772 |
|
| |
773 |
Added editing of email address to user's account page |
| |
774 |
|
| |
775 |
Got rid of <change-password-form> |
| |
776 |
|
| |
777 |
Rapid plus -- added <preview-with-more> and <gravatar> tags |
| |
778 |
|
| |
779 |
Rapid -- removed unimplemented if-content attribute from base <card> |
| |
780 |
|
| |
781 |
Rapid -- fixed class name dash problem in <name-one> |
| |
782 |
|
| |
783 |
User model generator -- allow users to change their email address by default |
| |
784 |
|
| |
785 |
Automatic scopes |
| |
786 |
|
| |
787 |
extended with_things and without_things automatic scopes so that they work without arguments. |
| |
788 |
|
| |
789 |
e.g. Question.with_answers and Question.without_answers |
| |
790 |
|
| |
791 |
Automatic scopes -- have 'recent' scope just do a 'limit x' if there is no created_at column (used to |
| |
792 |
blow up) |
| |
793 |
|
| |
794 |
Model Controller, allow :scope => :some_scope_name on index_action |
| |
795 |
|
| |
796 |
Made object_url handle a scoped class (gives the index url, e.g. /posts) |
| |
797 |
|
| |
798 |
Rapid generators -- fixed bug where some cards had title when they should not have |
| |
799 |
|
| |
800 |
Rapid generators -- smarter index-for-owner page when the owner is a user |
| |
801 |
|
| |
802 |
Rapid generators -- fixed wrongly named param in for new-for-ower pages |
| |
803 |
|
| |
804 |
User controller generator -- remove :new action by default |
| |
805 |
|
| |
806 |
DRYML - fixed problem where parameters where conflicting rather than merging |
| |
807 |
|
| |
808 |
Improvements to reset stylesheet - strong, em and code now render as expetced |
| |
809 |
|
| |
810 |
Moved all the tags defined in rapid.dryml into a new included file rapid_core.dryml to make it easier to |
| |
811 |
include only parts of the tag library if required |
| |
812 |
|
| |
813 |
|
| |
814 |
|
|
f75f6f91
»
|
tablatom |
2008-10-15 |
Updating manifests and chan... |
815 |
=== Hobo 0.8.3 === |
| |
816 |
|
| |
817 |
Hobo models -- improvements to logic for validating passwords. Closes #281 |
| |
818 |
|
| |
819 |
Hobo users -- simpler definition of account_active? |
| |
820 |
|
| |
821 |
This assumes the user has the default lifecycle or similar. If the lifecycle is cusomtised this method can be overridden |
| |
822 |
|
| |
823 |
Lifecycles -- Make current creator/transition available as lifecycle.active_step |
| |
824 |
|
| |
825 |
Lifecycles -- user a safer name for methods to test if the lifecycle is in a given state |
| |
826 |
|
| |
827 |
Now record.lifecycle.is_active? instead of record.lifecycle.active? |
| |
828 |
|
| |
829 |
Lifecycles -- become method should not polute AR namespace (use lifecycle.become) |
| |
830 |
|
| |
831 |
Models -- to_param should always return a string. Closes #280 |
| |
832 |
|
| |
833 |
Rapid -- <login-page> -- "remember me" is now on by default |
| |
834 |
|
| |
835 |
Fixed typo in <forgot-password-page>. Thanks to Jakub Suder |
| |
836 |
|
| |
837 |
Fixes and Clean theme improvements for site-wide live-search. Closes #290 |
| |
838 |
|
| |
839 |
Removing hobo_spec - test will live in hobo/test, hobofields/test as is normal |
| |
840 |
|
| |
841 |
Adding close button (also, keyboard = ESC) to live-search popup |
| |
842 |
|
| |
843 |
Models -- classes for polymorphic assciations (e.g. Tagging::ble) are now automatically created instead of blowing up when |
| |
844 |
calling reflection.klass. Closes #83 |
| |
845 |
|
| |
846 |
Removed nicedit - we've moved to a plugin based system for rich editors now (see github.com/tablatom/hoboyui) |
| |
847 |
|
| |
848 |
Rapid -- the select menus in <select-many> now observe conditions applied to the has_many :through |
| |
849 |
|
| |
850 |
Rapid -- fix to double-escaping of names in <select-one> |
| |
851 |
|
| |
852 |
merge-attrs on <section-group> |
| |
853 |
|
| |
854 |
Rapid -- added if-present attribute to <name> to supress the nil-view if there is no name |
| |
855 |
|
| |
856 |
Used in <name-one> to ensure the input box is blank |
| |
857 |
|
| |
858 |
Improved support for validation in multi-model-forms |
| |
859 |
|
| |
860 |
Added support for owner actions where the owner is a has_many :through (was only for :belongs_to owners) |
| |
861 |
|
| |
862 |
Rapid -- improvements to index-for-owner page |
| |
863 |
|
| |
864 |
Rapid -- renamed <card> parameter from 'description' to 'content' |
| |
865 |
|
| |
866 |
Rapid -- adding multipart attribute to <form>. Usage: <form multipart> |
| |
867 |
|
| |
868 |
Model Controller -- fix to :redirect option for hobo actions |
| |
869 |
|
| |
870 |
DRYML -- fix to dom_id helper when this_parent is a collection |
| |
871 |
|
| |
872 |
Model Controller -- improved remember_page_path to also remember the query string |
| |
873 |
|
| |
874 |
Rapid - fix to <remote-method-button> -- the confirm attribute was incorrectly changing the button into an ajax button |
| |
875 |
|
| |
876 |
Rapid -- <select-menu> now supports an array of label/value pairs, like the options_for_select helper |
| |
877 |
|
| |
878 |
Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with |
| |
879 |
<after-submit stay-here/> (occured after a validation error) |
| |
880 |
|
| |
881 |
New tag <input-all> for situations where you want input for every item in an existing collection (without the +/- buttons that |
| |
882 |
<input-many> has) |
| |
883 |
|
| |
884 |
HoboSupport -- enum.rest now returns [] for an empty enumerable (was nil) |
| |
885 |
|
| |
886 |
Rapid + DRYML -- recfactoring the way DRYML keep track of which form field names. |
| |
887 |
|
| |
888 |
It's now possible to track these for a sub-object by setting a new scoped variable form_field_names |
| |
889 |
|
| |
890 |
Rapid -- enhancements to <name-one>: |
| |
891 |
|
| |
892 |
- sensible defaults for complete-target and completer |
| |
893 |
(you can now use <name-one> as a drop-in replacement for <select-one> |
| |
894 |
|
| |
895 |
- The <name> of the referenced object is included in the input box if there is one |
| |
896 |
|
| |
897 |
Rapid -- improved grammar (use of 'a' or 'an') in <select-many> |
| |
898 |
|
| |
899 |
Model controller autocompleter enhancement -- you can ommit the name of the autocompleter, in which case it defaults to the |
| |
900 |
model's name_attribute |
| |
901 |
|
| |
902 |
Hobo Model -- more robust handling of date hashes |
| |
903 |
|
| |
904 |
Support in Rapid and javascript for <input-many> |
| |
905 |
|
| |
906 |
It's now very easy to embed form fields for items in a has_many collection. |
| |
907 |
These use javascript + and - buttons, but this does not use ajax. |
| |
908 |
|
| |
909 |
Hobo models -- improved support for mass assignment to has_many associations. |
| |
910 |
|
| |
911 |
Any has_many association can now be assigned a hash. The keys are *only* for ordering purposes. |
| |
912 |
The values are themsleves hashes of attributes. |
| |
913 |
New records are created for any such hash that has no :id key |
| |
914 |
|
| |
915 |
Hobo model -- fix to has_one extension (was discarding the block) |
| |
916 |
|
| |
917 |
DRYML - New behaviour for context_map (repeat): |
| |
918 |
this_field is now the index (0 based) when iterating over a collection. |
| |
919 |
New helpers (HoboHelper) first_item? and last_item? |
| |
920 |
|
| |
921 |
DRYML - fix to loading of nested taglibs |
| |
922 |
|
| |
923 |
Rapid user pages -- don't show forgot-password link if the route is not present |
| |
924 |
|
| |
925 |
<empty-collection-message> should use <div> instead of <p>, otherwise block level elements won't be allowed inside and Firefox |
| |
926 |
will sometimes treat them as if they are outside |
| |
927 |
|
| |
928 |
Rapid page generators -- added param to <field-names-where-true> on <show-page> |
| |
929 |
|
| |
930 |
DRYML - fix to using <extend> in a taglib included by a taglib |
| |
931 |
|
| |
932 |
Migration generator -- convert spaces to _ when responding to rename questions |
| |
933 |
|
| |
934 |
Rapid user pages -- made forgot-password link a param |
| |
935 |
|
| |
936 |
hobo_model generator -- formatting improvement |
| |
937 |
|
| |
938 |
Model Controller -- new :redirect option for controller actions |
| |
939 |
|
| |
940 |
Use the rails 'pick_template' mechanism to determine the correct template path when rendering a DRYML view |
| |
941 |
|
| |
942 |
Rapid generators -- adding missing <error-messages/> tags to lifecycle forms |
| |
943 |
|
| |
944 |
|
| |
945 |
|
|
00ddb659
»
|
tablatom |
2008-09-13 |
Changelog and version numbe... |
946 |
=== Hobo 0.8.2 === |
| |
947 |
|
| |
948 |
Hobo models -- improvement to name-in-URL (#to_param) |
| |
949 |
|
| |
950 |
Added missing input for time fields |
| |
951 |
|
| |
952 |
Rapid forms -- added missing hours/minutes/seconds fields to datetime input |
| |
953 |
|
| |
954 |
Reorg of Hobo Rakefile, in preprartion for move to Shoulda |
| |
955 |
|
| |
956 |
Rapid -- fix to <create-button> |
| |
957 |
|
| |
958 |
Echoe tasks -- adding workaround for developer-dependencies problem |
| |
959 |
|
| |
960 |
Rapid -- fixes to css class named that had '_' instead of '-' |
| |
961 |
|
| |
962 |
Rapid pages generators -- improvements to form submit button labels |
| |
963 |
|
| |
964 |
ModelController - set the provided key on the record *before* the view permission check during a lifecycle |
| |
965 |
transition |
| |
966 |
|
| |
967 |
Hobo Models -- Model.user_find can now take a block to perform actions on the record prior to the permission check |
| |
968 |
|
| |
969 |
Added Rails dependency to hobofields gem |
| |
970 |
|
| |
971 |
Fix to Rails dependency - any Rails >= 2.1 is ok |
| |
972 |
|
| |
973 |
Reorganised generator tests |
| |
974 |
|
| |
975 |
Hobo users now have an #account_active? method. Used in two places: |
| |
976 |
|
| |
977 |
- This method rather than the return value of the block passed to hobo_login, is now used to figure out if an |
| |
978 |
account is active when logging in. |
| |
979 |
|
| |
980 |
- After signing up, also log the user in iff account_active? is true. This is useful if there is a second step to |
| |
981 |
signing up, such as email activation |
| |
982 |
|
| |
983 |
hobo_front_controller generator -- improved title of home page |
| |
984 |
|
| |
985 |
Rapid generators -- fix to owner link on new-for-owner page |
| |
986 |
|
| |
987 |
Fix to bug where validations were not happening during lifecycle creates/transitions |
| |
988 |
|
| |
989 |
|
| |
990 |
|
|
6a21cb80
»
|
tablatom |
2008-09-08 |
CHANGELOG |
991 |
=== Hobo 0.8.1 === |
| |
992 |
|
| |
993 |
Fixes to generating and loading subsite controllers |
| |
994 |
|
| |
995 |
Add Rails routing monkey-patch to hobo generator |
| |
996 |
|
| |
997 |
Fixed deprecated use of ActiveSupport Dependencies module |
| |
998 |
|
| |
999 |
Migration generator -- fix to mysql limit problem in Rails 2.1.1 |
| |
1000 |
|
| |
1001 |
Migration generator -- fixed bug with validation of filename input by user |
| |
1002 |
|
| |
1003 |
New lifecycle semantics. |
| |
1004 |
|
| |
1005 |
Lifecycle create and transition actions (blocks) now run *after* the create or transition, and not at all |
| |
1006 |
if there are validation errors. |
| |
1007 |
|
| |
1008 |
To create a key, you can no longer call lifecycle.generate_key in the action, as the key timestamp will not |
| |
1009 |
be saved (record has already been saved) |
| |
1010 |
|
| |
1011 |
Instead pass :new_key => true as an option to the create or transition, and access it in the block using |
| |
1012 |
lifecycle.key |
| |
1013 |
|
| |
1014 |
Fix usage of 'skip' on hidden-fields tag; wasn't comma-splitting input. Correctly skip search field in |
| |
1015 |
table-plus search form. |
| |
1016 |
|
| |
1017 |
Fix to viewable_by? helper |
| |
1018 |
|
| |
1019 |
Partial fix #251 - add requirement that :id not be empty to resource routes |
| |
1020 |
|
| |
1021 |
Fix for #256, generating user model not named 'User' |
| |
1022 |
|
| |
1023 |
Maade request and app_name available by default |
| |
1024 |
|
| |
1025 |
New user model method account_active? Default implementation is state == 'active' but this method is intended |
| |
1026 |
as a hook that can be overridden as required. |
| |
1027 |
|
| |
1028 |
On signup, the user is only logged in if user has #account_active? |
| |
1029 |
|
| |
1030 |
Rapid generators -- fixes for form cancel links |
| |
1031 |
|
| |
1032 |
Rapid generators -- added parameter to show-page |
| |
1033 |
|
| |
1034 |
Fixes to in-place-editors |
| |
1035 |
|
| |
1036 |
Allow more advanced default ordering options like 'lower(users.last_name), lower(users.first_name)' |
| |
1037 |
|
| |
1038 |
Fixed typo in dryml-generator lifecycle pages |
| |
1039 |
|
| |
1040 |
show-page generator -- fix to test for create permission |
| |
1041 |
|
| |
1042 |
Rapid generators -- fix for show-page generator, when the 'owner' association that goes with the page's |
| |
1043 |
collection cannot be found |
| |
1044 |
|
| |
1045 |
|
| |
1046 |
|
|
64a2f1e0
»
|
tablatom |
2008-09-01 |
Changelog for 0.8 release |
1047 |
=== Hobo 0.8 === |
| |
1048 |
|
| |
1049 |
(There's a million changes in this release -- most of the fixes are *not* mentioned) |
| |
1050 |
|
| |
1051 |
Hobo now works with, and indeed requires, Rails 2.1 |
| |
1052 |
|
| |
1053 |
Hobo can now be used entirely from the gem, and need not be installed in vendor/plugins. To activate Hobo in this manner in an existing Rails app, just run the hobo generator. This will add the Hobo initializer to config/initializers. |
| |
1054 |
|
| |
1055 |
hobo command |
| |
1056 |
|
| |
1057 |
Now shows you what it's doing |
| |
1058 |
|
| |
1059 |
Renamed --create-dbs to --db-create to match the name of the rake task |
| |
1060 |
|
| |
1061 |
|
| |
1062 |
DRYML |
| |
1063 |
|
| |
1064 |
DRYML generators |
| |
1065 |
|
| |
1066 |
Hobo now provides a facility to generate DRYML tags on the fly using normal erb based templates. (the generators run |
| |
1067 |
when needed in development mode). The taglibs are written to taglibs/auto. Note that the generated tablibs are *not* |
| |
1068 |
intended to be modified, but rather should be imported and overridden in your application. |
| |
1069 |
|
| |
1070 |
Extending tags: The extend-with attribute is gone, instead we have the <extend> tag, e.g. instead of the rather |
| |
1071 |
confusing: |
| |
1072 |
|
| |
1073 |
<def tag="page" extend-with="app"> |
| |
1074 |
<page-without-app> |
| |
1075 |
|
| |
1076 |
we now have |
| |
1077 |
|
| |
1078 |
<extend tag="page"> |
| |
1079 |
<old-page> |
| |
1080 |
|
| |
1081 |
Also works with polymorphic tags, e.g. <extend tag="card" for="Product"> |
| |
1082 |
|
| |
1083 |
Polymorphic tags: new mechanism for defining polymorphic tags. |
| |
1084 |
|
| |
1085 |
<def tag="foo" polymorphic> ... "base" definition here ... </def> |
| |
1086 |
|
| |
1087 |
<def tag="foo" for="Product"> |
| |
1088 |
... in here you can call <foo> and it's not a recursive call |
| |
1089 |
but a call to the base definition ... |
| |
1090 |
</def> |
| |
1091 |
|
| |
1092 |
"without" attributes: <page without-live-search> is a shorthand for <page><live-search: replace/>. Doesn't sound like |
| |
1093 |
much but it's great. You'll like it. |
| |
1094 |
|
| |
1095 |
<set> now respects the 'if' attribute |
| |
1096 |
|
| |
1097 |
Using 'with' and 'field' on a parameter works more sensibly now -- DRYML will never merge with attributes and field |
| |
1098 |
attributes |
| |
1099 |
|
| |
1100 |
New semantics for scoped variables. |
| |
1101 |
|
| |
1102 |
Scoped variables must be declared at the start of the scope. Assignments and reads always go back to the scope where |
| |
1103 |
that variable was declared. |
| |
1104 |
|
| |
1105 |
Fix to <foo:> </foo:> (i.e. one or more whitespace chars) being ignored |
| |
1106 |
|
| |
1107 |
Removed feature from add_classes helper that was converting all _ to -. Closes #11 |
| |
1108 |
|
| |
1109 |
param='x' now adds class='x' to the output. Closes #22. Doesn't add a css class if the param name is the same as the tag |
| |
1110 |
name, or is 'default' |
| |
1111 |
|
| |
1112 |
Fixes to errors when reporting syntax error : ) |
| |
1113 |
|
| |
1114 |
Now raises an error rather than outputting nonsensical name attributes on form inputs |
| |
1115 |
|
| |
1116 |
Removed incorrect leading '/' on template paths (e.g. in logs, stack traces) |
| |
1117 |
|
| |
1118 |
Fix -- was accepting close tags that are a prefix of the start tags, e.g. <foo>...</fo> |
| |
1119 |
|
| |
1120 |
|
| |
1121 |
Rapid tag Library |
| |
1122 |
|
| |
1123 |
Rapid generators utilising the new DRYML generators feature. Pages, cards, forms, and the main navigation tag, are all |
| |
1124 |
generated now. |
| |
1125 |
|
| |
1126 |
New layout mechanism, and simplified <page> tag. Together with the Clean theme, it is not very easy to create column |
| |
1127 |
based layouts. As a result, the "layout" attribute (to <page>) is gone, as are tags like <aside-layout>. |
| |
1128 |
|
| |
1129 |
The standard <page> tag now has just a <content:> parameter. Specific pages might add <content-header:> or |
| |
1130 |
<content-body:> themselves. |
| |
1131 |
|
| |
1132 |
As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid. |
| |
1133 |
|
| |
1134 |
<section with-flash-messages> will include the flash messages at the top of the section *unless* they are rendered by a |
| |
1135 |
sub-section or have been rendered already |
| |
1136 |
|
| |
1137 |
Update forms with not render if the user doesn't have permission |
| |
1138 |
|
| |
1139 |
Removed <nav> tag |
| |
1140 |
|
| |
1141 |
Changed <a-or-an> to give you 'a hotel' not 'an hotel' |
| |
1142 |
|
| |
1143 |
<card> now always renders a link if there is a show action. Closes #54 |
| |
1144 |
|
| |
1145 |
<collection> is no longer a polymorphic tag. Drag and drop support moved into separate tag: <sortable-collection>. |
| |
1146 |
|
| |
1147 |
Got rid of <collection-preview> |
| |
1148 |
|
| |
1149 |
<stylesheet> tag now calls Rails helper stylesheet_link_tag name to construct the link tag. This change was made so that the |
| |
1150 |
css files are automatically cached using the timestamp mechanism, e.g. application.css?1218209632. The media attribute is now |
| |
1151 |
'screen' instead of 'all' by default |
| |
1152 |
|
| |
1153 |
Wrapped the output of <count> in a <span class='count'> |
| |
1154 |
|
| |
1155 |
Renamed <name-for-collection> to <collection-name> and added a dasherize parameter |
| |
1156 |
|
| |
1157 |
<ul> is gone from Rapid and is just a static tag again. Just do <ul><li repeat> |
| |
1158 |
|
| |
1159 |
New version of IE7.js (http://ie7-js.googlecode.com/svn/trunk/lib/IE7.js rev 29) |
| |
1160 |
|
| |
1161 |
<with-fields> (and hence <field-list>) now display fields in the order declared in the model |
| |
1162 |
|
| |
1163 |
<card> and <show-page> no longer include the created_at timestamp |
| |
1164 |
|
| |
1165 |
Added labels and titleize attributes to <editor for='HoboFields::EnumString'> |
| |
1166 |
|
| |
1167 |
Added force (no edit check) attribute to <input> |
| |
1168 |
|
| |
1169 |
<hidden-form-field> (formerly <hidden-field>) is gone |
| |
1170 |
|
| |
1171 |
Fix to default label on non-ajax <remote-method-button> |
| |
1172 |
|
| |
1173 |
Now outputs <span> not <div> to wrap field-with-errors (<div> is invalid) |
| |
1174 |
|
| |
1175 |
Added <transition-buttons> and <transition-button> (lifecycles) |
| |
1176 |
|
| |
1177 |
Added <dev-user-changer> when in development mode if there is a user model |
| |
1178 |
|
| |
1179 |
<with-fields> now skips deleted_at by default |
| |
1180 |
|
| |
1181 |
<name> now properly respects :name => true (in the model) |
| |
1182 |
|
| |
1183 |
Optimised <count> so that it doesn't hit the DB for already loaded collections |
| |
1184 |
|
| |
1185 |
Removed <heading> and <sub-heading> and <article> |
| |
1186 |
|
| |
1187 |
Allowing <def tag=input for=MyModel> to customise inputs for any belongs_to :my_model |
| |
1188 |
|
| |
1189 |
Changed 'There are no whatsits' message to 'No whatsits to display' |
| |
1190 |
|
| |
1191 |
Moved to nicedit (nicedit.com) for HTML inputs and editors. Dropped all TinyMCE stuff. It turns out that this change too will |
| |
1192 |
be temporary, as nicedit is a bit lacking. It seems that the YUI Editor will be the editor of choice, but we'll support it |
| |
1193 |
with a plugin, rather than make it part of core Hobo. |
| |
1194 |
|
| |
1195 |
Added default empty message to <table-plus> |
| |
1196 |
|
| |
1197 |
Rename <belongs-to-menu-editor> to <select-one-editor> and improvements. Removed "View" link. |
| |
1198 |
|
| |
1199 |
Made <view> fall back on to_s rather than giving up |
| |
1200 |
|
| |
1201 |
select-many: disabled options in the select drop down instead of trying to hide them. Fixed a problem in safari where 'choose |
| |
1202 |
xxx...' would get added by mistake to the list |
| |
1203 |
|
| |
1204 |
New 'options' attribute for <integer-select-editor> |
| |
1205 |
|
| |
1206 |
If no <input> tag found, fall back on an input for the COLUMN_TYPE if defined |
| |
1207 |
|
| |
1208 |
|
| |
1209 |
Model Controller |
| |
1210 |
|
| |
1211 |
The collection actions, e.g. PostController#comments, PostController#new_comment and PostController#create_comment have |
| |
1212 |
now been moved to the controller that looks after that particular model, e.g. CommentsController#index_for_post, |
| |
1213 |
CommentsController#new_for_post and CommentsController#create_for_post. The old way was just plain wrong. |
| |
1214 |
|
| |
1215 |
Named instance var (e.g. @post) is set in body of web methods |
| |
1216 |
|
| |
1217 |
Factored out redirect code into #redirect_after_submit |
| |
1218 |
|
| |
1219 |
Ensure default ordering is respected when paginating |
| |
1220 |
|
| |
1221 |
Fix to checking in superclass for permission_denied and not_found methods |
| |
1222 |
|
| |
1223 |
|
| |
1224 |
Migration generator |
| |
1225 |
|
| |
1226 |
Fixed bug with :null setting |
| |
1227 |
|
| |
1228 |
Ignore sessions table when using the ActiveRecord session store. Closes #187. |
| |
1229 |
|
| |
1230 |
Fix to loading models that was causing stack overflows (double alias_method_chain) |
| |
1231 |
|
| |
1232 |
Ignore schema_migrations table |
| |
1233 |
|
| |
1234 |
Fix to loading of namespaced models |
| |
1235 |
|
| |
1236 |
Fix to 'm' option on Windows |
| |
1237 |
|
| |
1238 |
|
| |
1239 |
hobo_front_conroller -- removed search page |
| |
1240 |
|
| |
1241 |
|
| |
1242 |
Clean theme |
| |
1243 |
|
| |
1244 |
Fix to form submit buttons in IE |
| |
1245 |
|
| |
1246 |
Fixed problem with height of user-changer |
| |
1247 |
|
| |
1248 |
|
| |
1249 |
hobo-rapid.js |
| |
1250 |
|
| |
1251 |
Hobo.applyEvents is gone - now uses lowpro for all JS events |
| |
1252 |
|
| |
1253 |
Only do resetForm on success. Add new onSuccess callback to Hobo.ajaxRequest |
| |
1254 |
|
| |
1255 |
|
| |
1256 |
Routing |
| |
1257 |
|
| |
1258 |
Routes are now reloaded automaticaly on every request in development mode, but you can turn this off if it gets slow. |
| |
1259 |
(See hobo generator, below) |
| |
1260 |
|
| |
1261 |
Fixes to lifecycle routes, so that object_url(obj, :signup, :method => 'post') works |
| |
1262 |
|
| |
1263 |
Clean-up so that :format => false doesn't sneak into route options |
| |
1264 |
|
| |
1265 |
Better error reporting if DB problems occur during routing |
| |
1266 |
|
| |
1267 |
Doesn't try to load routes when running script/destroy |
| |
1268 |
|
| |
1269 |
|
| |
1270 |
Subsites |
| |
1271 |
|
| |
1272 |
New hobo_subsite generator, and introduced app/views/taglibs/front_site.dryml as the taglib for non-subsite pages. |
| |
1273 |
|
| |
1274 |
The subsite taglib for, say, admin, is not admin_site.dryml, not admin.dryml |
| |
1275 |
|
| |
1276 |
Added Hobo.subsites method to enumerate available subsites. Used by Hobo::ModelRouter |
| |
1277 |
|
| |
1278 |
hobo generator |
| |
1279 |
|
| |
1280 |
Added config option in initializers/hobo.rb to choose if routes are reloaded on every request (default is yes) |
| |
1281 |
|
| |
1282 |
Hobo::ModelRouter.reload_routes_on_every_request = true |
| |
1283 |
|
| |
1284 |
Now generates a blank application.css |
| |
1285 |
|
| |
1286 |
|
| |
1287 |
User controller |
| |
1288 |
|
| |
1289 |
The standard actions (login, signup, logout, forgot_password, reset_password) now respect the auto_actions declaration. |
| |
1290 |
Closes #80 |
| |
1291 |
|
| |
1292 |
|
| |
1293 |
Fix to generate_tag_reference.rake so that maruku is not required when not being used |
| |
1294 |
|
| |
1295 |
|
| |
1296 |
Lifecycles |
| |
1297 |
|
| |
1298 |
Moving default user lifecycle (signup) from Hobo::User into the generated model file (hobo_user_model generator). Closes #148 |
| |
1299 |
|
| |
1300 |
Fixed problem with lifecycle keys when timezone was not configured. Now raises an error in that case. Closes #146 |
| |
1301 |
|
| |
1302 |
Changing lifecycle action names from signup_page (the form page) and signup (the post action), to signup (the form page) and |
| |
1303 |
do_signup (th epost action) |
| |
1304 |
|
| |
1305 |
|
| |
1306 |
Hobo models |
| |
1307 |
|
| |
1308 |
Removed :manged => true option for has_many :through. ActiveRecord now does behaves like this by default. |
| |
1309 |
|
| |
1310 |
Adding member_class meta-data when calling find_by_sql. Closes #231. |
| |
1311 |
|
| |
1312 |
Moved Hobo.models to Hobo::Model.all_models, (also added Hobo::ModelController.all_controllers) |
| |
1313 |
|
| |
1314 |
Added #foo_is? for every belongs_to :foo |
| |
1315 |
|
| |
1316 |
record.foo_is?(x) is like record.foo == x but does not force foo to load |
| |
1317 |
|
| |
1318 |
Have an SEO friendly URL (#to_param) by default on any model with a name attribute |
| |
1319 |
|
| |
1320 |
Added #acting_user, virtual attribute set to the user that does a user_update, user_save etc. |
| |
1321 |
|
| |
1322 |
Include virtual attributes (e.g. a #name method) when guessing name, description etc. |
| |
1323 |
|
| |
1324 |
|
| |
1325 |
HoboFields |
| |
1326 |
|
| |
1327 |
Removed RedCloth monkey-patch. Not needed (and broken) in RedCloth 4 |
| |
1328 |
|
| |
1329 |
Support :null => true/false on belongs_to |
| |
1330 |
|
| |
1331 |
Making HoboFields::HtmlString a subclass of HoboFields::Text |
| |
1332 |
|
| |
1333 |
Adding :decimal as another name for BigDecimal |
| |
1334 |
|
| |
1335 |
|
| |
1336 |
Removing symlink_plugins script now that it turns out there's no need for symlinks |
| |
1337 |
|
| |
1338 |
Just clone the whole hobo repo to vendor/plugins/hobo |
| |
1339 |
|
| |
1340 |
|
| |
1341 |
|
| |
1342 |
hobo_user_model generator |
| |
1343 |
|
| |
1344 |
Removed permission methods that are never used |
| |
1345 |
|
| |
1346 |
Replaced set_admin_on_forst_user with the actual code (a one liner) for greater clarity |
| |
1347 |
|
| |
1348 |
Added forgotton password mailer |
| |
1349 |
|
| |
1350 |
Adding email address to standard model (for forgotten password email) |
| |
1351 |
|
| |
1352 |
|
| |
1353 |
|
| |
1354 |
Scopes |
| |
1355 |
|
| |
1356 |
Goodbye def_scope (Rails now has named_scope). Made automatic scopes work with named_scope |
| |
1357 |
|
| |
1358 |
apply_scopes now works on other scopes, e.g. User.admin?.apply_scopes(...) |
| |
1359 |
|
| |
1360 |
Added by_most_recent automatic scope |
| |
1361 |
|
| |
1362 |
Added is and is_not automatic scopes |
| |
1363 |
|
| |
1364 |
Made search scope AND terms rather than OR |
| |
1365 |
|
| |
1366 |
|
| |
1367 |
Removed dump_fixtures rake task. See lighthouse #51 |
| |
1368 |
|
| |
1369 |
|
| |
1370 |
Hobo controller -- adding #call_tag (#render_tag without the render) |
| |
1371 |
|
| |
1372 |
|
| |
1373 |
Symlinked generators now even work when they call each other (hobo_model_resource => hobo_model) |
| |
1374 |
|
| |
1375 |
|
| |
1376 |
Hobo support - renamed Enumerable#search to Enumerable#map_and_find. Was clashing with the #search automatic scope |
| |
1377 |
|
| |
1378 |
|
| |
1379 |
Multi-model forms |
| |
1380 |
|
| |
1381 |
Hobo's support for multi-model forms has been improved, but not completed as Rails is moving in this direction too, so we |
| |
1382 |
need to wait and see what happens: |
| |
1383 |
|
| |
1384 |
DRYML - improvements to DRYML's mechanism to figure out name='...' attributes on form inputs |
| |
1385 |
|
| |
1386 |
Added experimental support for post.comments_by_user[a_user] |
| |
1387 |
|
| |
1388 |
Hobo models -- adding include_in_save support for transactional and validated multi-model saves |
| |
1389 |
|
| |
1390 |
Hobo models -- add origin and origin_attribute accessors, to help DRYML figure out the correct name attribute for input |
| |
1391 |
tags |
| |
1392 |
|
| |
1393 |
Tweaks to Hobo.get_field_path semantics |
| |
1394 |
|
| |
1395 |
Better handling of hashes wrt DRYML implicit context |
| |
1396 |
|
| |
1397 |
|
| |
1398 |
Valid HTML |
| |
1399 |
|
| |
1400 |
Various improvements to outputting valid HTML have been made to both DRYML and Rapid |
| |
1401 |
|
| |
1402 |
Removed use of invalid html attributes like hobo-model-id, hobo-update |
| |
1403 |
|
| |
1404 |
Empty are output as <br> when using a HTML doctype and <br /> when using XHTML |
| |
1405 |
|
| |
1406 |
|
| |
1407 |
Fix to site-search for better DB comptibility (Oracle in particular had a problem) |
| |
1408 |
|
| |
1409 |
|
| |
1410 |
Hack Rails so that generators are found in symlinked plugins (didn't this get fixed once already?\!) |
| |
1411 |
|
| |
1412 |
Bundles |
| |
1413 |
|
| |
1414 |
Pass the callers options to the Bundle#defaults |
| |
1415 |
|
| |
1416 |
|
| |
1417 |
Hobo Modles -- |
| |
1418 |
|
| |
1419 |
Migration generator -- exit with a warning if there are pending migrations |
| |
1420 |
|
| |
1421 |
|
| |
1422 |
Removed tabla theme |
| |
1423 |
|
| |
1424 |
|
| |
1425 |
Added Guest#login ("Guest") (used by user-changer menu) |
| |
1426 |
|
| |
1427 |
|
| |
1428 |
Adding #signed_up? to Hobo::User and Hobo::Guest (opposite of #guest?) |
| |
1429 |
|
| |
1430 |
|
| |
1431 |
All generators moved to rails_generators directory |
| |
1432 |
|
| |
1433 |
|
| |
1434 |
Hobo::HoboHelper -- new hook for customising URLs - base_url_for |
| |
1435 |
|
| |
1436 |
|
| |
1437 |
|
|
d1b456ab
»
|
tablatom |
2008-04-18 |
Hobo changelog |
1438 |
== Hobo 0.7.5 === |
| |
1439 |
|
| |
1440 |
Restructuring the git repo -- all the different gems/plugins live |
| |
1441 |
in the same repo now (github.com/tablatom/hobo) |
| |
1442 |
|
|
769fb19d
»
|
tablatom |
2008-04-18 |
New version numbers |
1443 |
Change to themes - the stylesheet and tablib are now called |
| |
1444 |
(e.g. for the 'clean' theme) clean.css and clean.dryml |
| |
1445 |
|
|
d1b456ab
»
|
tablatom |
2008-04-18 |
Hobo changelog |
1446 |
New rake task generate_tag_reference. Creates simple HTML reference |
| |
1447 |
docs, including any inline documentation comments (found |
| |
1448 |
immediately above the <def>) |
| |
1449 |
|
| |
1450 |
ModelController |
| |
1451 |
|
| |
1452 |
Made it possible to have a custom #permission_denined and |
| |
1453 |
#not_found in ApplicationController |
| |
1454 |
|
| |
1455 |
Improved logic for figuring out redirect after destroy |
| |
1456 |
|
| |
1457 |
Fix to bug where we would turn pagination off when we shouldn't |
| |
1458 |
|
| |
1459 |
We now have a list of mime-types that we *don't* paginate for |
| |
1460 |
(can be extended) |
| |
1461 |
|
| |
1462 |
hobo_index now silently skips pagination when the passed finder doesn't support it |
| |
1463 |
|
| |
1464 |
Fix to auto_actions :except => :collections |
| |
1465 |
|
| |
1466 |
Fix to rendering permission denied errors |
| |
1467 |
|
| |
1468 |
|
| |
1469 |
Fixes for IE6 |
| |
1470 |
|
| |
1471 |
The rapid-pages now include the fabulous IE7.js when the client |
| |
1472 |
is IE6. |
| |
1473 |
|
| |
1474 |
http://dean.edwards.name/IE7/ |
| |
1475 |
|
| |
1476 |
The clean theme now works much better in IE6. |
| |
1477 |
|
| |
1478 |
hobo-rapid.js -- fix displaying the empty-message after a removeButton |
| |
1479 |
|
| |
1480 |
|
| |
1481 |
Hobo models |
| |
1482 |
|
| |
1483 |
No longer defines Model[...] (in Hobo use Model.named(foo) instead) |
| |
1484 |
|
| |
1485 |
Fix to MyHoboModel.defined_scopes sometimes returning nil |
| |
1486 |
|
| |
1487 |
Allowing belongs_to and has_one associations to be set by name |
| |
1488 |
during mass-assignment |
| |
1489 |
|
| |
1490 |
e.g. person.attributes = { :department => 'Sales' } |
| |
1491 |
|
| |
1492 |
Automatic scopes -- give up silently if there's a problem with the DB |
| |
1493 |
|
| |
1494 |
Fix to :managed => true option on has_many. No longer requires |
| |
1495 |
the through association to be declared first. |
| |
1496 |
|
| |
1497 |
Auto-completers are now working again. The tag to use is |
| |
1498 |
<name-one>. Should be a how-to for this availabe soon. |
| |
1499 |
|
| |
1500 |
In-place-edits are working again |
| |
1501 |
|
| |
1502 |
New controller method call_dryml_tag (added by DRYML template |
| |
1503 |
handler). Calls a tag and returns the result as a string. |
| |
1504 |
|
| |
1505 |
Fix to <after-submit stay-here> following a part update |
| |
1506 |
|
| |
1507 |
Bundles -- fixes to class renaming |
| |
1508 |
|
| |
1509 |
<remote-method-button> is working again |
| |
1510 |
|
| |
1511 |
Refactored the DRYML parser to make it easier to parse DRYML in other contexts |
| |
1512 |
|
| |
1513 |
Rapid: |
| |
1514 |
|
| |
1515 |
Improvements to wording on index-page |
| |
1516 |
|
| |
1517 |
Display the users name, not login in the account-nav |
| |
1518 |
|
| |
1519 |
Small tweaks to generic tags |
| |
1520 |
|
| |
1521 |
Fix: The <view> for various types was reverting to a plain String view |
| |
1522 |
|
| |
1523 |
|
| |
1524 |
Switching to dependency on hobofields and will_paginate as gems rather than plugins |
| |
1525 |
|
| |
1526 |
Fix: DRYML parser works again with REXML versions back to 3.1.4 |
| |
1527 |
|
| |
1528 |
Fix: Hobo No longer depends on redcloth unless you're using markdown |
| |
1529 |
|
| |
1530 |
Routing |
| |
1531 |
|
| |
1532 |
Recover from ActiveRecord::StatementInvalid (routes may not be |
| |
1533 |
declared). Without this you sometimes can't even run rake if |
| |
1534 |
something is invalid |
| |
1535 |
|
| |
1536 |
Don't do routing (and hence load models) during |
| |
1537 |
script/generate. This *finally* fixes the dreaded 'User is |
| |
1538 |
reserved by Rails' error |
| |
1539 |
|
| |
1540 |
|
|
6f65145e
»
|
tablatom |
2008-04-07 |
Changelog |
1541 |
== Hobo 0.7.4 === |
| |
1542 |
|
| |
1543 |
Switching to a new style for the changelog. Now that we're using git |
| |
1544 |
the commit logs are a lot better, so this file is just going to |
| |
1545 |
contain edited highlights of the commit log. |
| |
1546 |
|
| |
1547 |
Rapid: making <view> make more use of the to_html API from |
| |
1548 |
HoboFields |
| |
1549 |
|
| |
1550 |
Reworked REXML extensions. Now compatible with REXML 3.7.1.1 |
| |
1551 |
through 3.7.1.3 |
| |
1552 |
|
| |
1553 |
ModelController -- fix to chosing whether or not to paginate |
| |
1554 |
|
| |
1555 |
Various IE Javascript fixes |
| |
1556 |
|
| |
1557 |
Rapid, <select-many>: Additional params, and IE fix |
| |
1558 |
|
| |
1559 |
Moving the part-contexts javascripts from the very end of the |
| |
1560 |
output, to the end of <body> |
| |
1561 |
|
| |
1562 |
The script tag must now be output by the <page>, instead of |
| |
1563 |
being appended automatically by DRYML. This is done in |
| |
1564 |
<simple-layout/> |
| |
1565 |
|
| |
1566 |
Rapid -- removing <view for='percentage'> |
| |
1567 |
|
| |
1568 |
DRYML -- improved error reporting |
| |
1569 |
|
| |
1570 |
Hobo::Model: fix -- we were breaking inheritence of validations |
| |
1571 |
|
| |
1572 |
Model generators -- adding some helpful comments |
| |
1573 |
|
| |
1574 |
Rapid: Fix to permission check for adding to primary collection on |
| |
1575 |
<show-page> |
| |
1576 |
|
| |
1577 |
Rapid: removing empty message from <index-page> |
| |
1578 |
|
| |
1579 |
Rapid: Fix to enum-string editor |
| |
1580 |
|
| |
1581 |
Rapid: Fix to auto-label in <count> |
| |
1582 |
|
| |
1583 |
User model generator -- change create permission to allow admin to |
| |
1584 |
create another admin |
| |
1585 |
|
| |
1586 |
New lowpro version |
| |
1587 |
|
| |
1588 |
New automatic css class 'with-owner' on default <card/> |
| |
1589 |
|
| |
1590 |
Hobo::ModelController -- fix to automatic inclusion of reorder |
| |
1591 |
action for models that act as list |
| |
1592 |
|
| |
1593 |
Improvements to default <card> |
| |
1594 |
|
| |
1595 |
Rapid javascript: try to automatically bring back the |
| |
1596 |
empty-message on removing the last item from a collection |
| |
1597 |
|
| |
1598 |
Scopes: fix to apply_scopes |
| |
1599 |
|
| |
1600 |
Fix to <name-for-collection> |
| |
1601 |
|
| |
1602 |
Rapid tags: Support for the empty-message on a collection |
| |
1603 |
re-appearing automatically if all the items are removed by the |
| |
1604 |
user |
| |
1605 |
|
| |
1606 |
DRYML: scoped variables -- assigning to a variable now modifies |
| |
1607 |
it's value in a parent scope if it's present in one |
| |
1608 |
|
| |
1609 |
<delete-button> fix -- was incorrectly guessing 'in-place' during |
| |
1610 |
ajax update |
| |
1611 |
|
| |
1612 |
New tag <name-for-collection> |
| |
1613 |
|
| |
1614 |
Fix to <view for='text'/> |
| |
1615 |
|
| |
1616 |
Improvements to <table-plus> |
| |
1617 |
|
| |
1618 |
Ability to sort by name of 'this' when 'this' is one of the |
| |
1619 |
fields |
| |
1620 |
|
| |
1621 |
Keep table headings in when the table is empty |
| |
1622 |
|
| |
1623 |
Don't include page nav if the collection doesn't support it |
| |
1624 |
|
| |
1625 |
Improvements to rapid pages |
| |
1626 |
|
| |
1627 |
Allowing has_many associations in forms |
| |
1628 |
|
| |
1629 |
Allowing the primary collection on a show page to be provided by |
| |
1630 |
an instance variable (so that filtering/searching/pagination are |
| |
1631 |
supported) |
| |
1632 |
|
| |
1633 |
Tidy of <show-page> |
| |
1634 |
|
| |
1635 |
<index-page> -- improved wording |
| |
1636 |
|
| |
1637 |
Fixes to <index-page> |
| |
1638 |
|
| |
1639 |
<account-nav> make 'logged in as bob' a link to current_user |
| |
1640 |
|
| |
1641 |
Factored out default <collection> into <base-collection>, and |
| |
1642 |
fixes to <collection-preview> |
| |
1643 |
|
| |
1644 |
<base-card> -- add 'edit' link |
| |
1645 |
|
| |
1646 |
<base-card> change 'title' param to 'heading' and make it easier |
| |
1647 |
to provide your own |
| |
1648 |
|
| |
1649 |
<creation-details> use a div rather than a span |
| |
1650 |
|
| |
1651 |
Fix to <select-many> |
| |
1652 |
|
| |
1653 |
Fix to <select-menu> |
| |
1654 |
|
| |
1655 |
Fix to <input for='datetime'> |
| |
1656 |
|
| |
1657 |
Rapid forms: switching to <select-one> and <select-many> naming |
| |
1658 |
|
| |
1659 |
<form> -- don't include auth token on GET forms |
| |
1660 |
|
| |
1661 |
Rapid: <belongs-to-menu-editor> -- don't show 'View' link if the |
| |
1662 |
thing is not linkable |
| |
1663 |
|
| |
1664 |
Rapid: adding sort attribute to <belongs-to-menu-editor> |
| |
1665 |
|
| |
1666 |
Rapid: default 'no-filter' option for filter-menu |
| |
1667 |
|
| |
1668 |
Rapid: Fix to extraneous whitespace in <you> |
| |
1669 |
|
| |
1670 |
Rapid: better guess of label on <count> |
| |
1671 |
|
| |
1672 |
Rapid: Use association name rather than class name in css classes |
| |
1673 |
on <a> tags (when available) |
| |
1674 |
|
| |
1675 |
Rapid: Fix to use of <else> with <a> |
| |
1676 |
|
| |
1677 |
Removed 'all' method from ScopedProxy - delegates to the model |
| |
1678 |
class instead |
| |
1679 |
|
| |
1680 |
Fix to origin_attribute on scoped associations |
| |
1681 |
|
| |
1682 |
Fix to with_abc automatic scopes |
| |
1683 |
|
| |
1684 |
New automatic scopes 'include' and 'search', and improvements to |
| |
1685 |
order_by scope |
| |
1686 |
|
| |
1687 |
Scopes: fix to parameterised scopes on associations |
| |
1688 |
|
| |
1689 |
Scopes: new apply_scopes method for models and has_many |
| |
1690 |
associations |
| |
1691 |
|
| |
1692 |
Pass a hash of scope-name => scope-arguments (single valur or |
| |
1693 |
array), the result will be scoped accordingly, but only if the |
| |
1694 |
first argument to the scope is not blank. It's designed to be |
| |
1695 |
used from controllers: if a param (e.g. a search or filter) is |
| |
1696 |
not included in the request, the scope is not applied |
| |
1697 |
|
| |
1698 |
Hobo::ModelController -- fix to permission denied response for |
| |
1699 |
ajax actions |
| |
1700 |
|
| |
1701 |
Hobo::ModelController -- Fix to flash message after update |
| |
1702 |
|
| |
1703 |
Hobo::ModelController -- fix to redirection after submitting a |
| |
1704 |
form |
| |
1705 |
|
| |
1706 |
Hobo::ModelController -- cleaning up sorting and filtering |
| |
1707 |
|
| |
1708 |
Hobo::ModelController -- make reorder one of the automatic |
| |
1709 |
:write_only actions if the model has the position_column method |
| |
1710 |
|
| |
1711 |
<with-fields> better error reporting |
| |
1712 |
|
| |
1713 |
Hobo::ModelController -- adding automatic reorder action |
| |
1714 |
|
| |
1715 |
Works with acts_as_list and scriptaculous drag and drop |
| |
1716 |
re-ordering |
| |
1717 |
|
| |
1718 |
Hobo::Model adding :managed => true option to has_many |
| |
1719 |
|
| |
1720 |
Only valid with the :through option. Records of the joining |
| |
1721 |
model will be created and destroyed as required when this record |
| |
1722 |
is saved, in order to honour the contents of the association at |
| |
1723 |
save time. |
| |
1724 |
|
| |
1725 |
Hobo::Model -- adding .user_update |
| |
1726 |
|
| |
1727 |
Hobo::Model -- fix to user_find |
| |
1728 |
|
| |
1729 |
Hobo::HoboHelper -- #map_this (used by repeat) will set this_key |
| |
1730 |
when iterating over a hash |
| |
1731 |
|
| |
1732 |
DRYML: made this_field_reflection do a better job of figuring out |
| |
1733 |
the current reflection |
| |
1734 |
|
| |
1735 |
DRYML: adding this_key -- gives you the current key when |
| |
1736 |
<repeat>ing on a hash |
| |
1737 |
|
| |
1738 |
DRYML: Error message for invalid attributes on parameter tags, |
| |
1739 |
e.g. <foo: if-'...'> |
| |
1740 |
|
| |
1741 |
Hobo module - fix to permission checks on unexpected objects |
| |
1742 |
|
| |
1743 |
Hobo module -- always return false for can_create? on has_many |
| |
1744 |
associations that are not 'simple' |
| |
1745 |
|
| |
1746 |
(i.e. they have conditions) |
| |
1747 |
|
| |
1748 |
DRYML: Fix for replacing an overridden tag parameter |
| |
1749 |
|
| |
1750 |
Rapid pages: new submit label on show page (add to collection) |
| |
1751 |
|
| |
1752 |
Rapid pages: Add param to <show-page> |
| |
1753 |
|
| |
1754 |
Rapid pages: by default, append app-name to every title, override |
| |
1755 |
with full-title attribute (<base-page>) |
| |
1756 |
|
| |
1757 |
Rapid pages: <show-page> -- update primary collection count when |
| |
1758 |
an item is deleted |
| |
1759 |
|
| |
1760 |
Rapid pages: fix on <show-page> |
| |
1761 |
|
| |
1762 |
Rapid pages: make edit link on show-page check if the edit action |
| |
1763 |
is linkable |
| |
1764 |
|
| |
1765 |
Rapid forms: adding inputs (just textareas) for textile and |
| |
1766 |
markdown |
| |
1767 |
|
| |
1768 |
front_controller generator -- use <collection-preview> in |
| |
1769 |
index.dryml |
| |
1770 |
|
| |
1771 |
Rapid generics: adding support for <collection with='&MyModel'/> |
| |
1772 |
|
| |
1773 |
Rapid tags: switching to <main-nav> tag, called from simple-layout |
| |
1774 |
|
| |
1775 |
hobo_model_resource generator -- removing creating of (rails |
| |
1776 |
style) resource route |
| |
1777 |
|
| |
1778 |
Improvements to rapid pages |
| |
1779 |
|
| |
1780 |
Allowing has_many associations in forms |
| |
1781 |
|
| |
1782 |
Allowing the primary collection on a show page to be provided by |
| |
1783 |
an instance variable (so that filtering/searching/pagination are |
| |
1784 |
supported) |
| |
1785 |
|
| |
1786 |
Rapid: Fix to use of <else> with <a> |
| |
1787 |
|
| |
1788 |
Removed 'all' method from ScopedProxy - delegates to the model |
| |
1789 |
class instead |
| |
1790 |
|
| |
1791 |
Fix to origin_attribute on scoped associations |
| |
1792 |
|
| |
1793 |
Rapid tags: disabled <belongs-to-view>, new <view |
| |
1794 |
for='ActiveRecord::Base'> is used now |
| |
1795 |
|
| |
1796 |
Hobo::Model -- fix to reverse_refelction |
| |
1797 |
|
| |
1798 |
Rapid tags: Adding <head:> and <foot:> params to <ul> |
| |
1799 |
|
| |
1800 |
Rapid tags: Adding params to <select-many> |
| |
1801 |
|
| |
1802 |
Rapid tags: adding support for <ul empty> (force the <ul> to |
| |
1803 |
appear even if empty) |
| |
1804 |
|
| |
1805 |
Fix: automatic scopes not_ and "association name" were not being |
| |
1806 |
created |
| |
1807 |
|
| |
1808 |
Rapid forms: Renaming <name-array-input> to <select-many> (and |
| |
1809 |
improvements) |
| |
1810 |
|
| |
1811 |
Hobo::Model -- adding assigment by arrays of names to has_many |
| |
1812 |
associations |
| |
1813 |
|
| |
1814 |
Hobo::Model -- adding Model.manage_join_records |
| |
1815 |
|
| |
1816 |
Routing: fix -- don't try to load assemble.rb if |
| |
1817 |
ApplicationController not defined |
| |
1818 |
|
| |
1819 |
Rapid pages: Fix to body class on <new-page> |
| |
1820 |
|
| |
1821 |
Rapid pages: fix to show page |
| |
1822 |
|
| |
1823 |
Rapid pages -- fixing pluralisation of <index-page> title |
| |
1824 |
|
| |
1825 |
Adding support for 'this' psuedo-field to <with-fields> and |
| |
1826 |
<with-fields-names> |
| |
1827 |
|
| |
1828 |
In particular, this makes it possible to include the object |
| |
1829 |
itself in a table plus column |
| |
1830 |
|
| |
1831 |
Adding a general <view> for ActiveRecord objects (just <a/>) |
| |
1832 |
|
| |
1833 |
Allowing lookup of polymorphic tags to include ActiveRecord::Base |
| |
1834 |
or Object as a catch-all |
| |
1835 |
|
| |
1836 |
Rapid generics: make collection preview hide the show-all link if |
| |
1837 |
there are none |
| |
1838 |
|
| |
1839 |
<page-nav> now uses will_paginate's helper to provide much better |
| |
1840 |
page navigation than before. |
| |
1841 |
|
| |
1842 |
|
|
83648845
»
|
tom |
2008-03-13 |
Merging sandbox into trunk ... |
1843 |
=== Release 0.7.3 === |
| |
1844 |
|
| |
1845 |
hobo command -- options are now: |
| |
1846 |
|
| |
1847 |
--user-model <model-name-or-false> |
| |
1848 |
--svn # Use 'svn co' to checkout Hobo |
| |
1849 |
--create-dbs # Run rake db:create:all |
| |
1850 |
--hobo-src <path to hobo src> |
| |
1851 |
-d | --database <database> # e.g. mysql, sqlite |
| |
1852 |
|
| |
1853 |
|
| |
1854 |
Core extentions |
| |
1855 |
|
| |
1856 |
Extracted from Hobo into new project: HoboSupport |
| |
1857 |
|
| |
1858 |
Some notable changes: |
| |
1859 |
|
| |
1860 |
#every has gone: users.every(:name) is now users.*.name |
| |
1861 |
|
| |
1862 |
|
| |
1863 |
hobo generator |
| |
1864 |
|
| |
1865 |
application.dryml now has a generated <app-name> tag |
| |
1866 |
|
| |
1867 |
|
| |
1868 |
hobo_front_controller generator |
| |
1869 |
|
| |
1870 |
Generated "search" route is now called "site_search" |
| |
1871 |
|
| |
1872 |
Removed unused --no-user option |
| |
1873 |
|
| |
1874 |
|
| |
1875 |
hobo_migration_generator |
| |
1876 |
|
| |
1877 |
Removed from Hobo - now part of the HoboFields spinn-off project |
| |
1878 |
|
| |
1879 |
|
| |
1880 |
New generator hobo_model_resource creates a model + controller pair |
| |
1881 |
|
| |
1882 |
|
| |
1883 |
Rapid Javascripts |
| |
1884 |
|
| |
1885 |
Default ajax message changed to "Saving..." |
| |
1886 |
|
| |
1887 |
Hobo.ajaxRequest now takes the message as an option (was the second argument) |
| |
1888 |
|
| |
1889 |
Fix to showing the ajax spinner in the right place in IE |
| |
1890 |
|
| |
1891 |
Hobo.addUrlParams now has an option to remove specified parameters |
| |
1892 |
|
| |
1893 |
Fixes to HasManyThroughInput behaviour |
| |
1894 |
|
| |
1895 |
New behaviour supporting filtering (e.g. on index pages) using <select> tags |
| |
1896 |
|
| |
1897 |
|
| |
1898 |
Rich data types |
| |
1899 |
|
| |
1900 |
These are all part of the HoboFields project now |
| |
1901 |
|
| |
1902 |
Booleans are now represented by the type Hobo::Boolean which is still part of Hobo |
| |
1903 |
|
| |
1904 |
|
| |
1905 |
Active record extensions |
| |
1906 |
|
| |
1907 |
Monkey-patch to make AR complain less about missing classes for |
| |
1908 |
polymorphic associations |
| |
1909 |
|
| |
1910 |
|
| |
1911 |
The block-based "composable query mechanism" is gone. Named scopes are much better. |
| |
1912 |
|
| |
1913 |
|
| |
1914 |
Hobo's original implementation of what later became "Sexy Migrations" is gone. |
| |
1915 |
|
| |
1916 |
|
| |
1917 |
Hobo module utility methods |
| |
1918 |
|
| |
1919 |
Hobo.field_types and Hobo.symbolic_type_name are gone - now part of |
| |
1920 |
HoboFields |
| |
1921 |
|
| |
1922 |
Fixes to can_edit? |
| |
1923 |
|
| |
1924 |
|
| |
1925 |
Site-search: |
| |
1926 |
|
| |
1927 |
Now automatically skips searching of non-linkable models. |
| |
1928 |
|
| |
1929 |
Can now be passed an array of models (including scoped finders) to search |
| |
1930 |
|
| |
1931 |
Now renders <search-card> instead of <card> |
| |
1932 |
|
| |
1933 |
|
| |
1934 |
New feature: Hobo::DevController |
| |
1935 |
|
| |
1936 |
A controller that adds developer support features (not in production |
| |
1937 |
mode). For now it just adds a method that can be used to change the current_user: |
| |
1938 |
|
| |
1939 |
/dev/set_current_user?name=Fred+Bloggs |
| |
1940 |
|
| |
1941 |
Very useful |
| |
1942 |
|
| |
1943 |
|
| |
1944 |
Hobo Routing |
| |
1945 |
|
| |
1946 |
Hobo::ModelRouter.linkable? can now be used with all the routes |
| |
1947 |
created by Hobo. |
| |
1948 |
|
| |
1949 |
|
| |
1950 |
Hobo helpers |
| |
1951 |
|
| |
1952 |
object_url now always returns nil if the URL requested is not a |
| |
1953 |
route known to Hobo routing |
| |
1954 |
|
| |
1955 |
|
| |
1956 |
object_url never includes _method= in the query string |
| |
1957 |
|
| |
1958 |
dom_id is now moved to DRYML's TemplateEnvironment |
| |
1959 |
|
| |
1960 |
can_view? now utilises some simple cacheing |
| |
1961 |
|
| |
1962 |
signup_url now defaults to the |
| |
1963 |
|
| |
1964 |
linkable? no longer accepts an array as parameter |
| |
1965 |
|
| |
1966 |
|
| |
1967 |
Rapid helpers |
| |
1968 |
|
| |
1969 |
ajax_updater(url_or_form, message, update, options) is now |
| |
1970 |
ajax_updater(url_or_form, update, options) (message has become an |
| |
1971 |
option) |
| |
1972 |
|
| |
1973 |
|
| |
1974 |
DRYML |
| |
1975 |
|
| |
1976 |
DRYML integration changes -- this is a start to the work of |
| |
1977 |
extracting DRYML from Hobo. |
| |
1978 |
|
| |
1979 |
The fallback from a template file to a tag, e.g. from index.dryml |
| |
1980 |
to <index-page/> is now handled by DRYML, not by Hobo's model |
| |
1981 |
controller. You can customise the chosed tag by calling |
| |
1982 |
|
| |
1983 |
dryml_fallback_tag("my-tag") from your controller action |
| |
1984 |
|
| |
1985 |
The default DRYML context is now the value returned by |
| |
1986 |
#dryml_context (was previously the value of @this). #dryml_context |
| |
1987 |
returns @this by default but can be overridden. |
| |
1988 |
|
| |
1989 |
<include src="mytags" bundle="foo"> |
| |
1990 |
|
| |
1991 |
includes a taglib from the plugin that the 'foo' bundle came from, |
| |
1992 |
and puts into effect any class renames from that bundle (for |
| |
1993 |
polymorphic tags). |
| |
1994 |
|
| |
1995 |
Fix - tags with capitalised names now work |
| |
1996 |
|
| |
1997 |
<my-param:></my-param:> can now be used to clear the contents of a |
| |
1998 |
parameter. It's not the same as <my-param:/> (which does nothing) |
| |
1999 |
|
| |
2000 |
New psuedo parameters for insterting content in and around |
| |
2001 |
parameters. e.g. for a param 'title': |
| |
2002 |
|
| |
2003 |
<before-title:> and <after-title:> for insterting content |
| |
2004 |
immediately before and after the parameter. |
| |
2005 |
|
| |
2006 |
<append-content:> and <prepend-content:> for inserting content at |
| |
2007 |
the begining and end of the default content. |
| |
2008 |
|
| |
2009 |
Note these are all just syntactic sugar for things you can do |
| |
2010 |
already with <param-content/> and <title: replace> / |
| |
2011 |
<title: restore/> |
| |
2012 |
|
| |
2013 |
When changing the context with the ':' shorthand, now use dashes, |
| |
2014 |
not underscores (the idea being that underscores are soley for use |
| |
2015 |
in Ruby code |
| |
2016 |
|
| |
2017 |
e.g. <with:my-field> |
| |
2018 |
|
| |
2019 |
Control attributes <my-tag if> is equivalent to <my-tag if="&this"/> |
| |
2020 |
(remember these test for blank? / not blank?, not Ruby trueness) |
| |
2021 |
|
| |
2022 |
this_type now never returns AssociationReflections, |
| |
2023 |
this_field_reflection does |
| |
2024 |
|
| |
2025 |
this_type now returns Hobo::Boolean for boolean types. |
| |
2026 |
|
| |
2027 |
this_field_dom_id is now just dom_id -- pass an object and an |
| |
2028 |
attriubte, or nothing to default to this and this_field |
| |
2029 |
|
| |
2030 |
Can now do merge-params="param1, param2" to merge just the named |
| |
2031 |
params |
| |
2032 |
|
| |
2033 |
Fix: <foo:foo> (i.e. field name same as tag name) |
| |
2034 |
|
| |
2035 |
Fix: using alias-of with a reserved word was broken |
| |
2036 |
|
| |
2037 |
|
| |
2038 |
Hobo models |
| |
2039 |
|
| |
2040 |
New method Model.named to find things by name, |
| |
2041 |
e.g. Category.named("Cars"), also aliased as Category["Cars"] |
| |
2042 |
|
| |
2043 |
Various new methods to support permission. This moves much of the |
| |
2044 |
logic into the model (from Hobo::ModelController). These methods are |
| |
2045 |
all passed, as the first argument, the user performing the action. A |
| |
2046 |
Hobo::Model::PermissionDeniedError is raised if the permission check |
| |
2047 |
fails. |
| |
2048 |
|
| |
2049 |
Class methods: |
| |
2050 |
|
| |
2051 |
user_find -- find with view-permission check |
| |
2052 |
user_new -- new with create-permission check |
| |
2053 |
user_create -- create with create-permission check |
| |
2054 |
|
| |
2055 |
user_can_create? -- test to see if a user is allowed to create the model. |
| |
2056 |
|
| |
2057 |
Instace methods: |
| |
2058 |
|
| |
2059 |
user_can_create? |
| |
2060 |
user_save_changes |
| |
2061 |
user_view |
| |
2062 |
user_destroy |
| |
2063 |
|
| |
2064 |
Models now get a new_foo method for each has_one :foo |
| |
2065 |
|
| |
2066 |
The old id_name system is gone. Will be coming back in various |
| |
2067 |
guises (e.g. see .named above) |
| |
2068 |
|
| |
2069 |
def_scope implementation factored out into separate modules |
| |
2070 |
|
| |
2071 |
New metod #get_creator returns the value of the creator attribute |
| |
2072 |
(if there is one) |
| |
2073 |
|
| |
2074 |
Various features exrtacted and now part of HoboFields |
| |
2075 |
|
| |
2076 |
|
| |
2077 |
Scopes |
| |
2078 |
|
| |
2079 |
Note: Hobo will probably switch to has_finder which provides |
| |
2080 |
(nearly) all the functionality of Hobo's scopes and has a superior |
| |
2081 |
implementation. We'll extend has_finder to add the bits that it is |
| |
2082 |
missing. |
| |
2083 |
|
| |
2084 |
The implementation of scopes has been factored out into separate models. |
| |
2085 |
|
| |
2086 |
Large new set of automatically defined scopes. These are defined |
| |
2087 |
automatically when you call them for the first time, much like the |
| |
2088 |
magic finders in ActiveRecord (e.g. find_by_name_and_address): |
| |
2089 |
|
| |
2090 |
For every has_many relationship (e.g. tags) |
| |
2091 |
|
| |
2092 |
with_tag(t) -- find records that have tag c |
| |
2093 |
with_tags(a, b, c) -- find records that have all these tags |
| |
2094 |
without_tag(t) |
| |
2095 |
without_tags(a, b, c) |
| |
2096 |
|
| |
2097 |
For every belongs_to and has_one (e.g. manager) |
| |
2098 |
|
| |
2099 |
manager_is(m) |
| |
2100 |
manager_is_not(m) |
| |
2101 |
|
| |
2102 |
For every regular field (e.g. name) |
| |
2103 |
|
| |
2104 |
name_is(x) |
| |
2105 |
name_is_not(x) |
| |
2106 |
|
| |
2107 |
For textual fields |
| |
2108 |
|
| |
2109 |
name_contains(x) |
| |
2110 |
name_does_not_contain(x) |
| |
2111 |
name_starts(x) |
| |
2112 |
name_does_not_start(x) |
| |
2113 |
name_ends(x) |
| |
2114 |
name_does_not_end(x) |
| |
2115 |
|
| |
2116 |
For boolean fields (e.g. published) |
| |
2117 |
|
| |
2118 |
published |
| |
2119 |
not_published |
| |
2120 |
|
| |
2121 |
For the various date/time columns (these must end _at, e.g. pulished_at) |
| |
2122 |
|
| |
2123 |
published_before(x) |
| |
2124 |
published_after(x) |
| |
2125 |
published_between(x, y) |
| |
2126 |
|
| |
2127 |
And finally |
| |
2128 |
|
| |
2129 |
order_by(field_name) -- add an ORDER BY clause |
| |
2130 |
limit(n) -- add a LIMIT clause |
| |
2131 |
recent(n) -- orders by created_at and limits to n records |
| |
2132 |
|
| |
2133 |
|
| |
2134 |
|
| |
2135 |
Hobo model controller |
| |
2136 |
|
| |
2137 |
Permission and not-found errors are now handled centrally using the |
| |
2138 |
new rescue_from declaration in Rails. No need to worry about these |
| |
2139 |
in individual actions. |
| |
2140 |
|
| |
2141 |
All the hobo actions (hobo_show, hobo_new etc) are greatly |
| |
2142 |
simplified. Much of the logic has been moved elsewhere, so it's now |
| |
2143 |
a lot easier to avoid using those actions at all and still get the |
| |
2144 |
usual features such as permission checks, fallback on page tags etc. |
| |
2145 |
|
| |
2146 |
hobo_index now takes a "finder" (model class or scoped model |
| |
2147 |
class) as the first argument. If you want to retrieve the |
| |
2148 |
collection yourself, there's no reason to call hobo_index at all - |
| |
2149 |
just write a regular Rails style action. |
| |
2150 |
|
| |
2151 |
The hobo_actions don't set any extra instance variables any more |
| |
2152 |
beyond @this. e.g. hobo_show_collection doesn't set @owner, |
| |
2153 |
because you can now use this.origin |
| |
2154 |
|
| |
2155 |
As part of the previous change, #not_allowed? is gone. |
| |
2156 |
|
| |
2157 |
Some work on autocomplete - might be working now :-) |
| |
2158 |
|
| |
2159 |
auto_actions -- can now say |
| |
2160 |
|
| |
2161 |
auto_actions :write_only # just gives you create, update and destroy |
| |
2162 |
auto_actions :read_only # gives you all except the above three |
| |
2163 |
|
| |
2164 |
Support for scopes on declarative index actions: |
| |
2165 |
|
| |
2166 |
index_action :scope => :my_scope |
| |
2167 |
|
| |
2168 |
New method filter_by for easily adding filtering to index actions, e.g. |
| |
2169 |
|
| |
2170 |
# assuming category and price_range are scopes defined on the current model |
| |
2171 |
def index |
| |
2172 |
finder = filter_by(:category => params[:category], price_range => [params[:min_price], params[:max_price]) |
| |
2173 |
hobo_index finder |
| |
2174 |
end |
| |
2175 |
|
| |
2176 |
The old data_filters stuff is gone. This was based on the |
| |
2177 |
"composable query" thing which is gone too (see above). |
| |
2178 |
|
| |
2179 |
Dependency on classic_pagination is gone. Now uses will_paginate |
| |
2180 |
|
| |
2181 |
|
| |
2182 |
|
| |
2183 |
User model |
| |
2184 |
|
| |
2185 |
Hobo::UserController.user_models is now Hobo::User.user_models |
| |
2186 |
|
| |
2187 |
New method Hobo::User.default_user_model returns the user model used |
| |
2188 |
in various places if no model is specified. |
| |
2189 |
|
| |
2190 |
Now requires the current password to be provided when changing the |
| |
2191 |
password (at the model level and in the related rapid-pages) |
| |
2192 |
|
| |
2193 |
User.login_attr renamed to User.login_attribute |
| |
2194 |
|
| |
2195 |
|
| |
2196 |
User controller |
| |
2197 |
|
| |
2198 |
Now includes the rapid_user_pages taglib (these have been separated |
| |
2199 |
from the main rapid-pages taglib) |
| |
2200 |
|
| |
2201 |
New helper: logout_current_user |
| |
2202 |
|
| |
2203 |
|
| |
2204 |
Bundles |
| |
2205 |
|
| |
2206 |
Support for multiple bundles per plugin -- bundles can now be |
| |
2207 |
selective about which models and controllers they include. |
| |
2208 |
|
| |
2209 |
Adding support for: belongs_to :foo, :polymorphic => :optional |
| |
2210 |
|
| |
2211 |
Magic option names are now available inside the model and controller *instances* |
| |
2212 |
|
| |
2213 |
Bundle options with defaults now work with nested option hashes |
| |
2214 |
|
| |
2215 |
belongs_to in a bundle model can now be given an :alias option - an |
| |
2216 |
alias of the (parameterised) belongs_to is created so that the model |
| |
2217 |
has a known API |
| |
2218 |
|
| |
2219 |
|
| |
2220 |
Core DRYML tags |
| |
2221 |
|
| |
2222 |
<wrap> can be given a parameter="..." attribute to wrap the content |
| |
2223 |
in a template using the given parameter name. |
| |
2224 |
|
| |
2225 |
<repeat> can now be used with <else> (i.e. the collection was empty) |
| |
2226 |
|
| |
2227 |
|
| |
2228 |
Rapid tags: general |
| |
2229 |
|
| |
2230 |
New standardised API for getting metadata from collections |
| |
2231 |
|
| |
2232 |
#association_name returns th, er, name of the association. If |
| |
2233 |
called on a named scope it returns the original association name, |
| |
2234 |
not the scope name |
| |
2235 |
|
| |
2236 |
#member_class returns the (expected) class of items in the array |
| |
2237 |
|
| |
2238 |
#origin returns the object from which the collection was obtained |
| |
2239 |
|
| |
2240 |
#origin_attribute returns the name of the attribute from which the |
| |
2241 |
collection was obtained |
| |
2242 |
|
| |
2243 |
So, unless something has changed: |
| |
2244 |
|
| |
2245 |
collection.origin.send(collection.origin_attribute) == collection |
| |
2246 |
|
| |
2247 |
This API is made available on all association proxies, regular |
| |
2248 |
arrays and will_paginate collections. |
| |
2249 |
|
| |
2250 |
New taglib - rapid_generics - provides various tags used by the |
| |
2251 |
default pages. These tags are designed to work generically with your |
| |
2252 |
models, but can also be customised of course. |
| |
2253 |
|
| |
2254 |
<table> -- the "Edit" link now goes to action="edit" (was linking to |
| |
2255 |
the show page) |
| |
2256 |
|
| |
2257 |
<count> is now better at guessing the label to use, also now |
| |
2258 |
supports <count lowercase/> to downcase the label. |
| |
2259 |
|
| |
2260 |
<clearer> is gone - hooray for overflow: hidden |
| |
2261 |
|
| |
2262 |
Added do to <you> as in: <you do/> |
| |
2263 |
|
| |
2264 |
New tag <filter-menu/> creates a form with a <select>. Used for |
| |
2265 |
adding menu-based filters to index pages. |
| |
2266 |
|
| |
2267 |
New tag <comma-list> |
| |
2268 |
|
| |
2269 |
|
| |
2270 |
Rapid tags: editing |
| |
2271 |
|
| |
2272 |
<editor> now merges params and attributes (e.g. you can add your own css classes) |
| |
2273 |
|
| |
2274 |
Most ajax controls now just give "Saving..." as the default ajax |
| |
2275 |
message. |
| |
2276 |
|
| |
2277 |
|
| |
2278 |
Rapid tags: forms |
| |
2279 |
|
| |
2280 |
<form> (without an action attribute) now renders nothing if the |
| |
2281 |
calculated action is not linkable |
| |
2282 |
|
| |
2283 |
If you provide action="..." to <form> (i.e. a manual form) the |
| |
2284 |
automatic css classes are not added. |
| |
2285 |
|
| |
2286 |
<delete-button> now renders nothing if the destory action is not linkable |
| |
2287 |
|
| |
2288 |
<delete-button> now automatically switche to non-in-place delete if |
| |
2289 |
the thing being deleted is the top-level context if the page. |
| |
2290 |
|
| |
2291 |
New tag <select-menu> |
| |
2292 |
|
| |
2293 |
<remote-method-button> now switches to in-place mode if you give any |
| |
2294 |
ajax attribute (e.g. success="...") |
| |
2295 |
|
| |
2296 |
<after-submit> -- can now do |
| |
2297 |
|
| |
2298 |
<after-submit go-back> (requires session[:previous_uri]) |
| |
2299 |
|
| |
2300 |
and |
| |
2301 |
|
| |
2302 |
<after-submit stay-here> |
| |
2303 |
|
| |
2304 |
|
| |
2305 |
Rapid tags: navigation |
| |
2306 |
|
| |
2307 |
Now assumes will_paginate style pagination instead of classic_pagination |
| |
2308 |
|
| |
2309 |
<account-nav> now proivides a link to the account page by default |
| |
2310 |
|
| |
2311 |
<account-nav> now provides a complete set of parameters for customisation |
| |
2312 |
|
| |
2313 |
|
| |
2314 |
Rapid tags: pages |
| |
2315 |
|
| |
2316 |
login, signup and account-disabled pages have been moved out to |
| |
2317 |
rapid-user-pages |
| |
2318 |
|
| |
2319 |
simple-layout -- the main-nav parameter is now on a wrapper around |
| |
2320 |
<magic-nav> rather than actually on <magic-nav>, so this now works |
| |
2321 |
as you'd expect: |
| |
2322 |
|
| |
2323 |
<main-nav:> --- your nav here --- </main-nav:> |
| |
2324 |
|
| |
2325 |
aside-layout -- the aside now appears in the output even if it's |
| |
2326 |
empty |
| |
2327 |
|
| |
2328 |
<show-page> -- various improvements and new parameters |
| |
2329 |
|
| |
2330 |
<permission-denied-page> now sets a body class, and the message can |
| |
2331 |
be changed with an attribute. |
| |
2332 |
|
| |
2333 |
<app-name> is gone -- this is now automatically generated in your |
|
4ee06703
»
|
tom |
2008-03-13 |
changelog |
2334 |
application.dryml (you may need to manually add this to existing |
|
83648845
»
|
tom |
2008-03-13 |
Merging sandbox into trunk ... |
2335 |
apps) |
| |
2336 |
|
| |
2337 |
|
| |
2338 |
Rapid tags: plus |
| |
2339 |
|
| |
2340 |
New tag <change-password-form> |
| |
2341 |
|
| |
2342 |
|
| |
2343 |
|
|
534a7989
»
|
tom |
2008-01-04 |
changelog |
2344 |
=== Release 0.7.2 === |
| |
2345 |
|
| |
2346 |
Migration generator |
| |
2347 |
|
| |
2348 |
Fixed "no such method table_name" bug |
| |
2349 |
|
| |
2350 |
Fixed various problems with specific column types, in particular |
| |
2351 |
decimal colums were problematic. |
| |
2352 |
|
| |
2353 |
|
| |
2354 |
Model and controller generators: |
| |
2355 |
|
| |
2356 |
Brought test related files up to date with latest Rails |
| |
2357 |
|
| |
2358 |
|
| |
2359 |
Model controller |
| |
2360 |
|
| |
2361 |
Fix: now correctly renders pages with validation errors for tag |
| |
2362 |
pages (pages with no dryml file) |
| |
2363 |
|
| |
2364 |
index_action and show_action can now be passed options for Hobo's |
| |
2365 |
default actions rather than giving a block. e.g. |
| |
2366 |
|
| |
2367 |
index_action :foo |
| |
2368 |
hobo_index :page_size => 10 |
| |
2369 |
end |
| |
2370 |
|
| |
2371 |
Can now be written |
| |
2372 |
|
| |
2373 |
index_action :foo, :page_size => 10 |
| |
2374 |
|
| |
2375 |
|
| |
2376 |
Hobo user model generator |
| |
2377 |
|
| |
2378 |
Added :default => false to administrator field |
| |
2379 |
|
| |
2380 |
|
| |
2381 |
DRYML |
| |
2382 |
|
| |
2383 |
Polymorphic tags -- looking up the polymorphic tag for an array will |
| |
2384 |
now use the 'member_class' of the array if available. |
| |
2385 |
|
| |
2386 |
|
| |
2387 |
Rapid |
| |
2388 |
|
| |
2389 |
New generic tag <collection>. Used to create type-specific |
| |
2390 |
renderings of collections. E.g. you can |
| |
2391 |
|
| |
2392 |
<def tag="collection" for="Comment"> |
| |
2393 |
|
| |
2394 |
To customise how an array of comments are displayed. This will get |
| |
2395 |
picked up by the default pages. |
| |
2396 |
|
| |
2397 |
|
| |
2398 |
Rapid pages |
| |
2399 |
|
| |
2400 |
Removed <default-layout/> -- dryml has built in facilities for |
| |
2401 |
setting and overriding defaults so this was not needed. |
| |
2402 |
|
| |
2403 |
Login and signup pages now specify "simple" layout, so e.g. if you |
| |
2404 |
redefine <page> to use "aside" layout, then login and signup will |
| |
2405 |
still use the simple layout. |
| |
2406 |
|
| |
2407 |
Various improvements to the default pages |
| |
2408 |
|
| |
2409 |
<index-page> new params |
| |
2410 |
|
| |
2411 |
|
| |
2412 |
Plugins |
| |
2413 |
|
| |
2414 |
Changing from hobo_* naming convention to rapid_* |
| |
2415 |
|
| |
2416 |
|
| |
2417 |
|
| |
2418 |
Clean theme |
| |
2419 |
|
| |
2420 |
Many small style improvements |
| |
2421 |
|
| |
2422 |
Support for aside layout |
| |
2423 |
|
| |
2424 |
|
| |
2425 |
|
| |
2426 |
|
| |
2427 |
|
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2428 |
=== Release 0.7.1 === |
| |
2429 |
|
| |
2430 |
Hobo 0.7 is tested against Rails 2.0.1 |
| |
2431 |
|
| |
2432 |
Adding docs to the repo in /doc, including the beginings of a Hobo |
| |
2433 |
tutorial |
| |
2434 |
|
| |
2435 |
Front controller generator -- improvements to index page (app home |
| |
2436 |
page) |
| |
2437 |
|
| |
2438 |
Migration generator -- fix for situations where a table is being |
| |
2439 |
renamed and modified in the same migration. |
| |
2440 |
|
| |
2441 |
Hobo user controller generator -- no index page for users by default. |
| |
2442 |
|
| |
2443 |
|
| |
2444 |
Hobo models |
| |
2445 |
|
| |
2446 |
New style for declarting extra metadata on fields / |
| |
2447 |
associations. Now part of the field / assoication declaration |
| |
2448 |
instead of requiring an additional declaration: |
| |
2449 |
|
| |
2450 |
set_creator_attr :foo |
| |
2451 |
is now: |
| |
2452 |
belongs_to :foo, :creator => true |
| |
2453 |
|
| |
2454 |
Note that :creator => true can now be set on either a belongs_to |
| |
2455 |
or a string field. In the latter case the string is set to the |
| |
2456 |
login name of the current user. |
| |
2457 |
|
| |
2458 |
set_login_attr :username |
| |
2459 |
is now: |
| |
2460 |
username :string, :login => true |
| |
2461 |
(within the "fields do" block) |
| |
2462 |
|
| |
2463 |
Can also write |
| |
2464 |
username :string, :login => true, :validate => false |
| |
2465 |
to disable the automatic login validations (see hobo/lib/hobo/user.rb) |
| |
2466 |
|
| |
2467 |
Plus two new ones for fields: :name => true and :description => true. |
| |
2468 |
|
| |
2469 |
All hobo models have a "recent" scope by default. |
| |
2470 |
|
| |
2471 |
Added reflection helpers to find which collections are dependent. |
| |
2472 |
|
| |
2473 |
The permission system can now be used to check for edit permission |
| |
2474 |
on the object (rather than individual field) level. If the model |
| |
2475 |
defined #can_edit?, that will be used, otherwise #can_update? is |
| |
2476 |
called with a nil 'new object'. |
| |
2477 |
|
| |
2478 |
#same_fields? and #only_changed_fields? now return true without |
| |
2479 |
testing anything if the record passed is nil. This is more |
| |
2480 |
compatible with the new ability to test for general edit |
| |
2481 |
permission on an object. |
| |
2482 |
|
| |
2483 |
#to_s now uses the declated name field (:name => true) if there is |
| |
2484 |
one |
| |
2485 |
|
| |
2486 |
|
| |
2487 |
|
| |
2488 |
|
| |
2489 |
Hobo user model |
| |
2490 |
|
| |
2491 |
New class-level declaration set_admin_on_forst_user. Does what it |
| |
2492 |
says on the tin. Only use it if your user model defines a boolean |
| |
2493 |
field 'administrator' |
| |
2494 |
|
| |
2495 |
|
| |
2496 |
Active Record extensions -- removed dubious #include? optimisation |
| |
2497 |
from has_many associations. |
| |
2498 |
|
| |
2499 |
|
| |
2500 |
New plugin feature -- Bundles |
| |
2501 |
|
| |
2502 |
Bundles are Hobo's equivalent to "appable plugins" or "engines". A |
| |
2503 |
plugin provides a bundle, and the app *instantiates* the bundle, |
| |
2504 |
possibly more than once in file app/assemble.rb. This is the wrong |
| |
2505 |
place to start documenting them but there are some examples in |
| |
2506 |
/plugins |
| |
2507 |
|
| |
2508 |
|
| |
2509 |
Hobo controllers |
| |
2510 |
|
| |
2511 |
Options given to the include_plugin declaration have changed. They |
| |
2512 |
are now exactly the same as the attributes taken by DRYML's |
| |
2513 |
<include> |
| |
2514 |
|
| |
2515 |
|
| |
2516 |
Hobo model controllers |
| |
2517 |
|
| |
2518 |
Removed cruft left over from view-layer permissions experiment. |
| |
2519 |
|
| |
2520 |
Simplified template lookup mechanism and removed inheritence aware |
| |
2521 |
search for partials. |
| |
2522 |
|
| |
2523 |
Added a cache for file-system tests to locate the correct |
| |
2524 |
template. This avoids the need to stat files in production mode. |
| |
2525 |
|
| |
2526 |
Better smarts for where to redirect to after a model is created. |
| |
2527 |
|
| |
2528 |
Better support for model controllers that handle more than one |
| |
2529 |
model. (this is a bit of a strange thing to do but a need for it |
| |
2530 |
cropped up in an app than has a single place for users of different |
| |
2531 |
types to log in) |
| |
2532 |
|
| |
2533 |
|
| |
2534 |
Hobo user controller |
| |
2535 |
|
| |
2536 |
"Account not available" is now a separate page |
| |
2537 |
(<account-disabled-page>) instead of just a flash message. |
| |
2538 |
|
| |
2539 |
Fixed occasional missing template bug |
| |
2540 |
|
| |
2541 |
|
| |
2542 |
|
| |
2543 |
DRYML |
| |
2544 |
|
| |
2545 |
DRYML now supports bundle class renaming when defining polymorphic |
| |
2546 |
tags |
| |
2547 |
|
| |
2548 |
Changes to <include> for plugins: |
| |
2549 |
|
| |
2550 |
<include src="plugin/foo/taglibs/baa"/> |
| |
2551 |
becomes |
| |
2552 |
<include src="baa" plugin="foo"/> |
| |
2553 |
|
| |
2554 |
You can also say <include src="foo" bundle="abc"/> which includes a |
| |
2555 |
taglib from the bundle's plugin, as well as handling class renames |
| |
2556 |
for polymorphic definitions. |
| |
2557 |
|
| |
2558 |
Fix to allow calling tags with upper-case letters in their names. |
| |
2559 |
|
| |
2560 |
|
| |
2561 |
DRYML core tags |
| |
2562 |
|
| |
2563 |
<call-tag> now dasherises the tag name passed |
| |
2564 |
|
| |
2565 |
<partial> is now just a trivial wrapper around render :partial |
| |
2566 |
|
| |
2567 |
|
| |
2568 |
|
| |
2569 |
|
| |
2570 |
Hobo helpers |
| |
2571 |
|
| |
2572 |
can_edit? can now be given nil as the field parameter to test for |
| |
2573 |
general ability to edit this record (e.g. to decide wether to render |
| |
2574 |
an "Edit" link). Also, parameters now default to #this and nil. |
| |
2575 |
|
| |
2576 |
Renamed create_model to new_for_current_user. Pass a class or |
| |
2577 |
association, defaults to #this. |
| |
2578 |
|
| |
2579 |
New helper #font_models. Returns a list of models that are |
| |
2580 |
candidates to appear on the default front page and main nav. |
| |
2581 |
|
| |
2582 |
Changes to linkable? Subsite is now a named option (:subsite => |
| |
2583 |
"admin"), the target of the links defaults to #this and the action |
| |
2584 |
defaults to :index for model targets and :show for records. |
| |
2585 |
|
| |
2586 |
|
| |
2587 |
Hobo routing |
| |
2588 |
|
| |
2589 |
Now automatically updates routes without restarting the server in |
| |
2590 |
dev mode (yay!) |
| |
2591 |
|
| |
2592 |
|
| |
2593 |
Site search -- don't search for records that are not linkable |
| |
2594 |
|
| |
2595 |
|
| |
2596 |
Hobo Rapid |
| |
2597 |
|
|
ea963507
»
|
tom |
2007-12-23 |
Bringing trunk into line wi... |
2598 |
Clean theme is now the default theme |
| |
2599 |
|
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2600 |
CSS -- small tweaks |
| |
2601 |
|
| |
2602 |
JavaScript -- Ajax spinner now appears for a minimum time, and has a |
| |
2603 |
fade effect. |
| |
2604 |
|
| |
2605 |
Clean theme -- many improvements |
| |
2606 |
|
| |
2607 |
Added an ajax option -- :spinner_next_to. Pass the dom id of a node |
| |
2608 |
and the spinner will appear near that node. |
| |
2609 |
|
| |
2610 |
|
| |
2611 |
Rapid tag library |
| |
2612 |
|
| |
2613 |
<field-list> now defaults to <view> not <edit> as the tag for the |
| |
2614 |
fields. Also, if the tag is <input>, non-editable fields are skipped |
| |
2615 |
(used keep them in but to drop back to views). |
| |
2616 |
|
| |
2617 |
<card> displays nothing if the object is not viewable. Default card |
| |
2618 |
has various improvements. |
| |
2619 |
|
| |
2620 |
New attribute <type-name dasherize/> |
| |
2621 |
|
| |
2622 |
Fix: merge-attrs was missing on the belongs_to view |
| |
2623 |
|
| |
2624 |
<boolean-checkbox-editor> now supports a custom ajax message and |
| |
2625 |
configures the ajax spinner to appear near the checkbox. |
| |
2626 |
|
| |
2627 |
Fix: incorrect use of <ul> in <error-messages> |
| |
2628 |
|
| |
2629 |
<magic-nav> -- removed serach item, extended to maximum of 6 models |
| |
2630 |
|
| |
2631 |
Many, many improvements to the default pages |
| |
2632 |
|
| |
2633 |
<with-fields associations="has_many"> iterates of all has_many |
| |
2634 |
relationships |
| |
2635 |
|
| |
2636 |
Removed require of ruby-debug from fixdryml.task |
| |
2637 |
|
| |
2638 |
New plugins featuring bundles: rapid_blog, rapid_comments, |
| |
2639 |
rapid_images and rapid_tagging. All are work-in-progress. |
| |
2640 |
|
| |
2641 |
|
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2642 |
=== Release 0.7 === |
| |
2643 |
|
| |
2644 |
Hobo 0.7 is tested against Rails 1.99.1 (aka Rais 2.0 RC2) |
| |
2645 |
|
| |
2646 |
DRYML |
| |
2647 |
|
| |
2648 |
Switched to dashes instead of underscores for tag and attributes |
| |
2649 |
names. These are converted to underscores in the underlying ruby |
| |
2650 |
code. |
| |
2651 |
|
| |
2652 |
Unification of tempalte tags and non-template tags. There is now |
| |
2653 |
only one type of tag and two different ways to call a tag: |
| |
2654 |
|
| |
2655 |
<my-tag>content directly inside the tag</my-tag> |
| |
2656 |
|
| |
2657 |
<my-tag> |
| |
2658 |
<a-parameter:>Content inside a named parameter (note the colon)</a-parameter> |
| |
2659 |
<another-parameter:>Some more content</another-parameter> |
| |
2660 |
</my-tag> |
| |
2661 |
|
| |
2662 |
Note that these styles cannot be mixed. If there is a parameter |
| |
2663 |
inside a tag call, there must be only parameters (and whitespace, |
| |
2664 |
which is not output) |
| |
2665 |
|
| |
2666 |
In the first style, the call is implicitly equivalent to: |
| |
2667 |
|
| |
2668 |
<my-tag> |
| |
2669 |
<default:>content directly inside the tag</default> |
| |
2670 |
</my-tag> |
| |
2671 |
|
| |
2672 |
And by the same token, <tagbody/> is now written: |
| |
2673 |
|
| |
2674 |
<do param="default"/> |
| |
2675 |
|
| |
2676 |
The tagbody local variable is gone too. "if tagbody" is now |
| |
2677 |
"if all_parameters.default?" and "tagbody.call" is now |
| |
2678 |
"all_parameters.default" |
| |
2679 |
|
| |
2680 |
|
| |
2681 |
A rake task hobo:fixdryml has been added which does a pretty good |
| |
2682 |
job of converting Hobo 0.6 DRYML source-code to the new style. It |
| |
2683 |
will change every file in app/views/**/*.dryml, and keeps a backup |
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2684 |
copy of app/views in app_views_before_fixdryml. If you pass it CLASS=y |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2685 |
and ID=y it will 'dasherize' css classes and IDs too, which is the |
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2686 |
new Hobo convention. You can also pass DIR=... if you want to point |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2687 |
it somewhere other than app/views. It won't fix anything in erb |
| |
2688 |
scriptlets, e.g. use of the tagbody local variable. Expect to do |
| |
2689 |
some manual fixes after running the task (good job you've got that |
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2690 |
thorough test suite eh?) |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2691 |
|
| |
2692 |
The add_classes helper now automatically dasherizes all class names. |
| |
2693 |
|
| |
2694 |
New helper 'element'. Use in place of Rails' tag and content_tag |
| |
2695 |
helper. It dasherizes attributes given as symbols. |
| |
2696 |
|
| |
2697 |
|
| |
2698 |
Migration generator |
| |
2699 |
|
| |
2700 |
Better support for STI. It no longer wants to generate tables for |
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2701 |
the subclasses. Still needed: a way of integrating fields declared in |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2702 |
the subclasses -- they are currently ignored by the generator. |
| |
2703 |
|
| |
2704 |
|
| |
2705 |
Hobo Rapid |
| |
2706 |
|
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2707 |
In place editing (and Ajax in general) will now provide the form |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2708 |
authentication token (CSRF protection) if available. No need to |
| |
2709 |
disable protect_from_forgery any more. |
| |
2710 |
|
| |
2711 |
|
| |
2712 |
Stylesheets: |
| |
2713 |
|
| |
2714 |
Removed list-style: none from hobo_abse.css |
| |
2715 |
|
| |
2716 |
|
| |
2717 |
Javascript: |
| |
2718 |
|
| |
2719 |
Dasherized all css classes and dom IDs used. |
| |
2720 |
|
| |
2721 |
Upgraded to latest low_pro.js |
| |
2722 |
|
| |
2723 |
|
| |
2724 |
New theme 'Clean' |
| |
2725 |
|
| |
2726 |
New helper 'linkable?' can be given a record or class, and tells you |
| |
2727 |
if Hobo has a route for it. Only works for 'show' and 'index' |
| |
2728 |
actions so far. |
| |
2729 |
|
| |
2730 |
Tag library |
| |
2731 |
|
| |
2732 |
\\'/;p <a> now automatically knows not to generate (broken) links to |
| |
2733 |
things that are not 'linkable?'. Outputs just the link content |
| |
2734 |
instead. |
| |
2735 |
|
| |
2736 |
We used to have <FieldList> and <field_list>. We now have |
| |
2737 |
<field-list> and <labelled-item-list> |
| |
2738 |
|
| |
2739 |
<UL> is now <ul>, and only has the iteration behaviour if you give |
| |
2740 |
a <li:> parameter. Otherwise it's just like a static tag. |
| |
2741 |
|
| |
2742 |
<Table> is now <table> and only has the special behaviour if you |
| |
2743 |
give a 'fields' attribute or '<tr:>' parameter. Otherwise it's |
| |
2744 |
just like a static tag. |
| |
2745 |
|
| |
2746 |
<view> for dates and times no longer break when the context is |
| |
2747 |
nil. |
| |
2748 |
|
| |
2749 |
<count> - unless-none attribute is gone. user if-any |
| |
2750 |
|
| |
2751 |
<theme-stylesheet> now takes a 'name' attribute |
| |
2752 |
|
| |
2753 |
<delete-button> takes a 'subsite' attribute |
| |
2754 |
|
| |
2755 |
|
| |
2756 |
Rake tasks |
| |
2757 |
|
| |
2758 |
New task hobo:fixdryml (see DRYML section above) |
| |
2759 |
|
| |
2760 |
dump_fixtures is now hobo:fixtures:dump |
| |
2761 |
|
| |
2762 |
|
| |
2763 |
|
| |
2764 |
|
| |
2765 |
Hobo models |
| |
2766 |
|
| |
2767 |
Automatically declares the field 'position :integer' if the model |
| |
2768 |
acts_as_list. |
| |
2769 |
|
| |
2770 |
never_show declarations are now inherited |
| |
2771 |
|
| |
2772 |
Fix: def_scope was broken when the scope name ended '?' |
| |
2773 |
|
| |
2774 |
Fix: Hobo broke the 'guard_protected_attributes' optional parameter |
| |
2775 |
to attributes=. (this was breaking attachment_fu) |
| |
2776 |
|
| |
2777 |
Fix: assigning Date and Time objects in mass-assignment was broken. |
| |
2778 |
|
| |
2779 |
|
| |
2780 |
User model |
| |
2781 |
|
| |
2782 |
Newly generated user models (hobo_user_model generator) now give |
| |
2783 |
create permission to all by default (to enable signup). |
| |
2784 |
|
|
5216e60e
»
|
tom |
2007-12-22 |
merging sandbox 591..670 to... |
2785 |
logins_count renamed to login_count (Hobo manages this field for you |
|
80b8fe52
»
|
tom |
2007-12-03 |
merging tom_sandbox 561..59... |
2786 |
if it exists). |
| |
2787 |
|
| |
2788 |
|
| |
2789 |
Core extensions |
| |
2790 |
|
| |
2791 |
Module#alias_tag_chain, which never should have been there is |
| |
2792 |
gone. (It's not needed now that camel-case tags have gone). |
| |
2793 |
|
| |
2794 |
|
|
4c4e3bf2
»
|
tom |
2007-11-14 |
Changelog |
2795 |
=== Release 0.6.4 === |
| |
2796 |
|
| |
2797 |
Fix: In-place-editors were not working with the new version of |
| |
2798 |
Scriptaculous |
| |
2799 |
|
| |
2800 |
The default fade effect on in-place-editors is now disabled |
| |
2801 |
|
| |
2802 |
<ShowPage> now has a title |
| |
2803 |
|
| |
2804 |
|
|
a290665b
»
|
tom |
2007-11-13 |
fixing trunk |
2805 |
=== Release 0.6.3 === |
| |
2806 |
|
| |
2807 |
New feature: subsites, i.e. namespaced routes, plus support in the |
| |
2808 |
controller and view layers. Subsites are created automatically for any |
| |
2809 |
directories found in app/controllers. Links default to the current |
| |
2810 |
subsite unless you give a subite="..." attribute. The taglib |
| |
2811 |
app/views/<subsite>/<subsite-name>.dryml is automatically included in |
| |
2812 |
every page in the subsite. |
| |
2813 |
|
| |
2814 |
The out-of-box app is not in great shape in this release, mostly due |
| |
2815 |
to problems with the theme. We haven't fixed it because the theme |
| |
2816 |
system going to change radically in Hobo 0.7 |
| |
2817 |
|
| |
2818 |
New version of lowpro, compatible with Prototype 1.6 (rev 267) |
| |
2819 |
|
| |
2820 |
Change to hobo command: |
| |
2821 |
|
| |
2822 |
hobo [...options...] app-name |
| |
2823 |
|
| |
2824 |
instead of |
| |
2825 |
|
| |
2826 |
hobo app-name [...options...] |
| |
2827 |
|
| |
2828 |
|
| |
2829 |
Migration generator |
| |
2830 |
|
| |
2831 |
Automatically ignores non-Hobo models (and associated tables) |
| |
2832 |
|
| |
2833 |
Hobo::Migrations.ignore_models is now deprecated. |
| |
2834 |
|
| |
2835 |
Use Hobo::Migrations.ignore to list models that should be |
| |
2836 |
ignored. The associated tables are ignored too (rarely needed, as |
| |
2837 |
these are probably not Hobo models anyway) |
| |
2838 |
|
| |
2839 |
Hobo::Migrations.ignore_tables is still supported |
| |
2840 |
|
| |
2841 |
Fix: problems with going back to a nil default from a non-nil |
| |
2842 |
default. |
| |
2843 |
|
| |
2844 |
|
| |
2845 |
Hobo model generator |
| |
2846 |
|
| |
2847 |
In line with Rails 2.0, the timestamps declaration is now included |
| |
2848 |
by default (it's generally something every model should have). |
| |
2849 |
|
| |
2850 |
|
| |
2851 |
hobo_base.css |
| |
2852 |
|
| |
2853 |
Removed over-zealous styling of too many elements. |
| |
2854 |
|
| |
2855 |
|
| |
2856 |
hobo_rapid.css |
| |
2857 |
|
| |
2858 |
Change of class names for validation errors. |
| |
2859 |
|
| |
2860 |
|
| |
2861 |
hobo_rapid.js |
| |
2862 |
|
| |
2863 |
Now silently ignores update to non-existent part. This is convenient |
| |
2864 |
when parts are being added dynamically, but may prove to be a |
| |
2865 |
mistake :-) |
| |
2866 |
|
| |
2867 |
Global variable controllerNames is gone. Now use calls to |
| |
2868 |
Hobo.pluralise. (Gee I guess we should really standardise on |
| |
2869 |
American spellings) |
| |
2870 |
|
| |
2871 |
The 'fade' parameter to removeButton is now an option. Confirmation |
| |
2872 |
is now optional too. |
| |
2873 |
|
| |
2874 |
Hobo.partFor returns the part containing a given element. Used in |
| |
2875 |
the new update="self" feature. |
| |
2876 |
|
| |
2877 |
LowPro behaviour HasManyThroughInput. This is badly named and will |
| |
2878 |
change. |
| |
2879 |
|
| |
2880 |
|
| |
2881 |
Core extensions |
| |
2882 |
|
| |
2883 |
alias_tag_chain is like alias_method_chain but for DRYML tags |
| |
2884 |
|
| |
2885 |
SafeNil |
| |
2886 |
|
| |
2887 |
Now more efficient (thanks to "steve d" -- |
| |
2888 |
http://coderrr.wordpress.com) |
| |
2889 |
|
| |
2890 |
Fix when used with DelegateClass |
| |
2891 |
|
| |
2892 |
New method #implies on booleans. Borrowed from Eiffel. Useful in |
| |
2893 |
permission methods. |
| |
2894 |
|
| |
2895 |
true.implies false #=> false |
| |
2896 |
true.implies true #=> true |
| |
2897 |
false.implies x #=> true |
| |
2898 |
|
| |
2899 |
Hash#map_hash. The block is passed only the value if the arity is 1. |
| |
2900 |
|
| |
2901 |
|
| |
2902 |
DRYML |
| |
2903 |
|
| |
2904 |
The ability to define tags in Ruby is now removed |
| |
2905 |
|
| |
2906 |
Tag extension: <def tag="Page" extend_with="navigation"> |
| |
2907 |
|
| |
2908 |
This encapsulates the alias_method_chain pattern. The tag can make |
| |
2909 |
a call to <PageWithoutNavigation> to get the old behaviour. |
| |
2910 |
|
| |
2911 |
alias_current_as is gone -- replaced by extend_with |
| |
2912 |
|
| |
2913 |
Fix: some DRYML attributes were leaking through to the output HTML |
| |
2914 |
|
| |
2915 |
part_locals can now be passed instance variable names, |
| |
2916 |
e.g. part_locals="@user". Note that inside the part this creates a |
| |
2917 |
local variable "user". Don't user @user inside the part. It's just a |
| |
2918 |
convenience to avoid the need to do <set user="&@user"/> |
| |
2919 |
|
| |
2920 |
Fix: failure to accumulate CSS class names when merging attributes. |
| |
2921 |
|
| |
2922 |
DRYML now gives the type returned by #field_type (when available) |
| |
2923 |
over this.class |
| |
2924 |
|
| |
2925 |
Fix: when overriding a parameter, the <default_tagbody/> of the new |
| |
2926 |
parameter would incorrectly provide the old tagbody which should |
| |
2927 |
have been overridden. |
| |
2928 |
|
| |
2929 |
hoboParts variable is now set by <hobo_rapid_javascripts> rather |
| |
2930 |
than being hard wired in the output from the DRYML compiler. |
| |
2931 |
|
| |
2932 |
Fix: caching problems with tags imported by the include_tablib |
| |
2933 |
directive. |
| |
2934 |
|
| |
2935 |
|
| |
2936 |
AJAX Parts |
| |
2937 |
|
| |
2938 |
Calls to parts, along with the part-state variables are now logged. |
| |
2939 |
|
| |
2940 |
Can now say part="self" when a tag wants to update the part it is |
| |
2941 |
contained in (useful for re-usable tags). |
| |
2942 |
|
| |
2943 |
|
| |
2944 |
Rich data types |
| |
2945 |
|
| |
2946 |
All rich data types now register themselves with Hobo, e.g. |
| |
2947 |
|
| |
2948 |
class Hobo::EmailAddress < String |
| |
2949 |
COLUMN_TYPE = :string |
| |
2950 |
... |
| |
2951 |
end |
| |
2952 |
|
| |
2953 |
Hobo.field_types[:email_address] = Hobo::EmailAddress |
| |
2954 |
|
| |
2955 |
New type builder - enum_string. e.g. |
| |
2956 |
|
| |
2957 |
fields do |
| |
2958 |
gender enum_string(:male, :female) |
| |
2959 |
end |
| |
2960 |
|
| |
2961 |
You can then do, e.g. if current_user.gender.male? |
| |
2962 |
|
| |
2963 |
(You also automatically get select menu's in your views) |
| |
2964 |
|
| |
2965 |
|
| |
2966 |
Hobo models |
| |
2967 |
|
| |
2968 |
In fields declaration: |
| |
2969 |
|
| |
2970 |
Got rid of weird thing where providing :length meant the type |
| |
2971 |
defaulted to :string |
| |
2972 |
|
| |
2973 |
Can now give classes as well as symbolic names for column types. |
| |
2974 |
|
| |
2975 |
Mass attribute assignment extended to support some features that |
| |
2976 |
were in the model controller. e.g. Dates can be represented as |
| |
2977 |
Hashes of month, day etc. Chronic will be used to parse dates if |
| |
2978 |
available. Object references (e.g. belongs_to relationships) can be |
| |
2979 |
set with "@<typed-id>" as before. |
| |
2980 |
|
| |
2981 |
"fields do" can optionally be used with a parameter if you don't |
| |
2982 |
like the instance_eval hackery: |
| |
2983 |
|
| |
2984 |
fields do |f| |
| |
2985 |
f.name :string |
| |
2986 |
end |
| |
2987 |
|
| |
2988 |
belongs_to can be given :null => false, which is passed through to |
| |
2989 |
the migration generator. |
| |
2990 |
|
| |
2991 |
New method #column returns the meta-data for the named column. |
| |
2992 |
|
| |
2993 |
#find now returns arrays with a #member_class method |
| |
2994 |
|
| |
2995 |
def_scope |
| |
2996 |
|
| |
2997 |
Chained scopes on a class didn't work at all -- now fixed, |
| |
2998 |
e.g. Posts.recent.by_author.find(:all) |
| |
2999 |
|
| |
3000 |
Fix: def_scope with sql parameter interpolation was broken. |
| |
3001 |
|
| |
3002 |
|
| |
3003 |
#changed_fields, which was next to useless, replaced with |
| |
3004 |
#only_changed_fields, which is used to assert that only the given |
| |
3005 |
fields have changed. |
| |
3006 |
|
| |
3007 |
|
| |
3008 |
Hobo user model |
| |
3009 |
|
| |
3010 |
The module is renamed from Hobo::AuthenticatedUser to just |
| |
3011 |
Hobo::User |
| |
3012 |
|
| |
3013 |
It is no longer possible to set the login attribute by passing a |
| |
3014 |
symbol to hobo_user_model. Go back to using set_login_attr. Didn't |
| |
3015 |
work out. It happens sometimes. |
| |
3016 |
|
| |
3017 |
|
| |
3018 |
Helpers |
| |
3019 |
|
| |
3020 |
#subsite returns the name of the current subsite. |
| |
3021 |
|
| |
3022 |
#object_url can now be passed the siubsite, e.g. :subsite => "admin" |
| |
3023 |
|
| |
3024 |
#object_url can only be passed a single hash of options now (could |
| |
3025 |
be passed any ammount before) |
| |
3026 |
|
| |
3027 |
#dom_id now returns "" when a dom_id cannot be generated (used to |
| |
3028 |
raise an error) |
| |
3029 |
|
| |
3030 |
#map_this now works with ranges (used by DRYML's repeat) |
| |
3031 |
|
| |
3032 |
#current_page_url returns request.request_uri without the query string |
| |
3033 |
|
| |
3034 |
#query_params now returns a HashWithIndifferentAccess |
| |
3035 |
|
| |
3036 |
Hobo.dom_id now works better with non-hobo models |
| |
3037 |
|
| |
3038 |
|
| |
3039 |
Permission System |
| |
3040 |
|
| |
3041 |
Fix: view permission was causing errors with non-hobo models. Now |
| |
3042 |
defaults to viewable. |
| |
3043 |
|
| |
3044 |
|
| |
3045 |
Hobo Controller |
| |
3046 |
|
| |
3047 |
include_tablib accepts symbols as well as strings |
| |
3048 |
|
| |
3049 |
#redirect_to now forwards all params to object_url when not given a |
| |
3050 |
String, Symbol or Hash |
| |
3051 |
|
| |
3052 |
#hobo_ajax_response no longer need be passed a dryml this |
| |
3053 |
|
| |
3054 |
|
| |
3055 |
Model controller |
| |
3056 |
|
| |
3057 |
Multiple model creates / updates are gone from the controller |
| |
3058 |
layer. Hobo now uses good ol' Rails mass attribute |
| |
3059 |
assignment. Coping with multiple object updates should be handled in |
| |
3060 |
the model layer. Some features from the model controller have been |
| |
3061 |
moved to the model layer, and more will be added in the future. |
| |
3062 |
|
| |
3063 |
Attempts to automatically re-render the correct page after a |
| |
3064 |
validation error on create / update using a form parameter |
| |
3065 |
"page_path", which the <form> tag provides in a hidden |
| |
3066 |
field. Previously assumed the form came from the new / edit action. |
| |
3067 |
|
| |
3068 |
Automatic pagination is now only applied to appropriate |
| |
3069 |
mime-types. Add mime-types to Hobo::ModelController.PAGINATE_FORMATS |
| |
3070 |
to have them paginated. |
| |
3071 |
|
| |
3072 |
New declaration 'auto_actions' allows you to select which actions |
| |
3073 |
Hobo provides for you automatically. |
| |
3074 |
|
| |
3075 |
# White list |
| |
3076 |
auto_actions :show, :index |
| |
3077 |
|
| |
3078 |
or |
| |
3079 |
|
| |
3080 |
# Black list |
| |
3081 |
auto_action :all, :except => [ :new_comment ] |
| |
3082 |
|
| |
3083 |
You can use :collections to add/remove all collection actions in |
| |
3084 |
either the black or white list. |
| |
3085 |
|
| |
3086 |
New declaration 'index_action' declares a new index-like action |
| |
3087 |
(similar to show_action) |
| |
3088 |
|
| |
3089 |
index_action, show_action and web_method can now all be given |
| |
3090 |
blocks, rather than defining a method of the same name: |
| |
3091 |
|
| |
3092 |
show_action :summary do |
| |
3093 |
hobo_show Post.find(params[:id], :include => :comments) |
| |
3094 |
end |
| |
3095 |
|
| |
3096 |
Web methods now automatically respond with hobo_ajax_response if the |
| |
3097 |
method does not respond. |
| |
3098 |
|
| |
3099 |
#search |
| |
3100 |
|
| |
3101 |
Now less magic (i.e. doesn't operate by side-effecting). It now |
| |
3102 |
returns a condition string suitable to be passed to :conditions. |
| |
3103 |
|
| |
3104 |
Can be given a model as the first argument to search on a |
| |
3105 |
different model (e.g. for show-collection actions). |
| |
3106 |
|
| |
3107 |
Fix: :paginate => false was broken |
| |
3108 |
|
| |
3109 |
#create, #update and #destroy now set flash messages by default |
| |
3110 |
(only on "wants.html" requests) |
| |
3111 |
|
| |
3112 |
<PermissionDeniedPage> used as the default permission denied |
| |
3113 |
response. |
| |
3114 |
|
| |
3115 |
<NotFoundPage> used as the default 404 response. |
| |
3116 |
|
| |
3117 |
|
| |
3118 |
User controller |
| |
3119 |
|
| |
3120 |
Added various customisation options to login and signup |
| |
3121 |
|
| |
3122 |
On login, redirect to #home_page -- you can override this on your |
| |
3123 |
controllers. |
| |
3124 |
|
| |
3125 |
The actual name of the login attribute (e.g. "email", "username") is |
| |
3126 |
now used in flash messages. |
| |
3127 |
|
| |
3128 |
hobo_logout can now be given a block to customise the response. |
| |
3129 |
|
| |
3130 |
Fixes for validation errors on signup. |
| |
3131 |
|
| |
3132 |
|
| |
3133 |
Routing |
| |
3134 |
|
| |
3135 |
Routes for non-existent actions are not generated. |
| |
3136 |
|
| |
3137 |
|
| |
3138 |
Tag library: Core tags |
| |
3139 |
|
| |
3140 |
<wrap> will wrap its content in ther tag specified by tag="..." if |
| |
3141 |
when="..." is true. |
| |
3142 |
|
| |
3143 |
Fix: <unless> -- was behaving like <if> |
| |
3144 |
|
| |
3145 |
|
| |
3146 |
Tag library: Rapid |
| |
3147 |
|
| |
3148 |
<FieldList> now has params <label> and <view> that wrap every label |
| |
3149 |
and view. Also <foo_tag> where "foo" is a field-name, is the actual |
| |
3150 |
tag that renders the field (e.g. <view> or <edit>) |
| |
3151 |
|
| |
3152 |
<nil_view> can be overridden to customise the way Hobo renders nil |
| |
3153 |
values. |
| |
3154 |
|
| |
3155 |
<Table> new attribute 'empty' -- when given the table is rendered |
| |
3156 |
even when there are items in the collection. |
| |
3157 |
|
| |
3158 |
<name> now respects view permission properly |
| |
3159 |
|
| |
3160 |
<view> now does a #strip to the output |
| |
3161 |
|
| |
3162 |
<count> -- new attribute if_any - set to true to output nothing if |
| |
3163 |
the count is zero. |
| |
3164 |
|
| |
3165 |
|
| |
3166 |
Tag library: Rapid documents |
| |
3167 |
|
| |
3168 |
The 'document' tags like <section>, <aside> output nothing when the |
| |
3169 |
content is blank. Now they can ge given the 'empty' attribute |
| |
3170 |
causing the tag to be output even if the content is blank. |
| |
3171 |
|
| |
3172 |
New tag <sub_heading> |
| |
3173 |
|
| |
3174 |
|
| |
3175 |
Tag library: Rapid forms |
| |
3176 |
|
| |
3177 |
<hidden_fields> will now not output hidden fields for attributes |
| |
3178 |
on new records that are in their default state. |
| |
3179 |
|
| |
3180 |
<form> now has a default ajax message for creating new objects. |
| |
3181 |
|
| |
3182 |
<form> now supports forgery protection |
| |
3183 |
|
| |
3184 |
<input> -- better handling of the 'field with errors' wrapper |
| |
3185 |
|
| |
3186 |
<input> for passwords now accepts extra html attributes |
| |
3187 |
|
| |
3188 |
New <input> for enum-strings - a select menu. |
| |
3189 |
|
| |
3190 |
New <input> for big decimals |
| |
3191 |
|
| |
3192 |
<remote_method_button> now supports non ajax remote method calls |
| |
3193 |
(when no update="..." is given) |
| |
3194 |
|
| |
3195 |
css classes on buttons renamed from "button_input" to "button" |
| |
3196 |
|
| |
3197 |
<update_button> now supports confirm="&false" |
| |
3198 |
|
| |
3199 |
<belongs_to_menu_input> |
| |
3200 |
|
| |
3201 |
none_message attribute renamed to blank_message |
| |
3202 |
|
| |
3203 |
Conditions on belongs_to are now observed (only eligible records |
| |
3204 |
are in the menu) |
| |
3205 |
|
| |
3206 |
New <ErrorMessages> template tag - like the error_messages_for |
| |
3207 |
helper with added Hobo goodness. |
| |
3208 |
|
| |
3209 |
|
| |
3210 |
Tag library: Rapid navigation |
| |
3211 |
|
| |
3212 |
<page_nav> now hides without errors if there is no @pages object |
| |
3213 |
|
| |
3214 |
<nav_item> now ignores nested tags when selecting the current nav |
| |
3215 |
item. |
| |
3216 |
|
| |
3217 |
|
| |
3218 |
Tag library: Rapid pages |
| |
3219 |
|
| |
3220 |
Significant re-factoring of all page tags -- see source :-) |
| |
3221 |
|
| |
3222 |
<javascript name="a, b, c"> tag - like helper javascript_include_tag |
| |
3223 |
|
| |
3224 |
New pages <NotFoundPage> and <PermissionDeinedPage> |
| |
3225 |
|
| |
3226 |
|
| |
3227 |
Tag library: Rapid support |
| |
3228 |
|
| |
3229 |
<TablePlus> various new params |
| |
3230 |
|
| |
3231 |
|
| |
3232 |
=== Release 0.6.2 === |
| |
3233 |
|
| |
3234 |
Specs |
| |
3235 |
|
| |
3236 |
Moved out of the plugin source into a separate directory in the |
| |
3237 |
hierarchy. If you check out hobo/trunk you'll get two directories: |
| |
3238 |
hobo and hobo_spec. You can run "rake" from the hobo directory and |
| |
3239 |
it should work as long as hobo_spec is along side. Note the |
| |
3240 |
hobo_spec tree contains an svn external to edge rails. |
| |
3241 |
|
| |
3242 |
|
| |
3243 |
New rake task dump_fixtures (which really should be nicely |
| |
3244 |
namespaced). This will dump the current database into test |
| |
3245 |
fixtures. The nice part is that it won't overwrite symbolic names |
| |
3246 |
you've given to rows in your fixtures, so you can round-trip with it: |
| |
3247 |
rake db:fixtures:load, run up the app and create some new data, rake |
| |
3248 |
dump_fixtures. |
| |
3249 |
|
| |
3250 |
|
| |
3251 |
Migration generator |
| |
3252 |
|
| |
3253 |
Fixed indentation bug in generated code. |
| |
3254 |
|
| |
3255 |
Now prompts for the name of the generated migration after the |
| |
3256 |
generated code is displayed. |
| |
3257 |
|
| |
3258 |
Better error message for invalid field types declared in models. |
| |
3259 |
|
| |
3260 |
|
| |
3261 |
Tabla theme |
| |
3262 |
|
| |
3263 |
Fixed reference to non-existent human_type helper. |
| |
3264 |
|
| |
3265 |
|
| |
3266 |
Hobo users |
| |
3267 |
|
| |
3268 |
Various fixes to the new (in 0.6.1) multiple user model support. |
| |
3269 |
|
| |
3270 |
If the model name is "User", the routes generated are simply: |
| |
3271 |
|
| |
3272 |
/login |
| |
3273 |
/logout |
| |
3274 |
/signup |
| |
3275 |
|
| |
3276 |
(as opposed to /user_login etc.) |
| |
3277 |
|
| |
3278 |
The filter "login_required" can now be passed a user model (class), |
| |
3279 |
e.g. |
| |
3280 |
|
| |
3281 |
before_filter {|controller| controller.login_required(Administrator) } |
| |
3282 |
|
| |
3283 |
The named routes "login", "logout" and "signup" are no longer |
| |
3284 |
defined. Instead there are helpers login_url, signup_url and |
| |
3285 |
logout_url, all of which are passed a user model (class) as |
| |
3286 |
parameter. |
| |
3287 |
|
| |
3288 |
New declaration 'hobo_user_model' can be used in place of hobo_model |
| |
3289 |
and removes the need to include Hobo::AuthenticatedUser. Can be |
| |
3290 |
passed the name of the login field, which removes the need to call |
| |
3291 |
set_login_attr. Can also be passed a block in which to do |
| |
3292 |
validations of the login attr (just as you can with set_login_attr). |
| |
3293 |
|
| |
3294 |
User models now have a class method login_attr that returns the name |
| |
3295 |
of the login attribute, e.g. :username |
| |
3296 |
|
| |
3297 |
Guest model should now extend Hobo::Guest, which provides #guest |
| |
3298 |
(true!) and #super_user (false) |
| |
3299 |
|
| |
3300 |
User models now inherit #guest? (returns false). No need to define |
| |
3301 |
it yourself. |
| |
3302 |
|
| |
3303 |
|
| |
3304 |
Hobo models |
| |
3305 |
|
| |
3306 |
Optimisation. Where possible we've replaced calls to #respond_to? |
| |
3307 |
(which is slow on AR records) with the new class method |
| |
3308 |
#has_hobo_method? which is an alias for |
| |
3309 |
#respond_to_without_attributes? |
| |
3310 |
|
| |
3311 |
"fields do" now supports shorthands for common validations |
| |
3312 |
validates_uniqueness_of and validates_presence_of, e.g.: |
| |
3313 |
|
| |
3314 |
fields do |
| |
3315 |
name :string, :required, :unique |
| |
3316 |
end |
| |
3317 |
|
| |
3318 |
If you need to change the validation method, just go back to the |
| |
3319 |
old way. |
| |
3320 |
|
| |
3321 |
The creator attribute mechanism is updated to cope with multiple |
| |
3322 |
user models. Hobo will not try to set the creator attribute if the |
| |
3323 |
expected type is not the same as the type of the logged in user. |
| |
3324 |
|
| |
3325 |
Various enhancements to composable query blocks |
| |
3326 |
|
| |
3327 |
MyModel.has_creator? replaced with MyModel.creator_type which |
| |
3328 |
returns the expected user class or nil if there is no creator |
| |
3329 |
attribute. |
| |
3330 |
|
| |
3331 |
Fix: def_scope was broken with has_many :through associations. |
| |
3332 |
|
| |
3333 |
|
| |
3334 |
Integration test helpers |
| |
3335 |
|
| |
3336 |
#logs_in_as updated to cope with multiple user types. |
| |
3337 |
|
| |
3338 |
|
| |
3339 |
Core extensions |
| |
3340 |
|
| |
3341 |
New method Object._? can be used to avoid an extra test for nil, e.g. |
| |
3342 |
|
| |
3343 |
string_or_nil._?.length |
| |
3344 |
|
| |
3345 |
is equivalent to |
| |
3346 |
|
| |
3347 |
string_or_nil && string_or_nil.length |
| |
3348 |
|
| |
3349 |
Hobo extensions to HashWithIndifferentAccess fixed to always return |
| |
3350 |
indifferent hashes. |
| |
3351 |
|
| |
3352 |
|
| |
3353 |
Hobo controller |
| |
3354 |
|
| |
3355 |
Fix to #render_tags (problem with part contexts javascript) |
| |
3356 |
|
| |
3357 |
Fix to include_taglib declaration (was not working in production |
| |
3358 |
mode). |
| |
3359 |
|
| |
3360 |
|
| |
3361 |
Hobo model controller |
| |
3362 |
|
| |
3363 |
Largely re-written handling of http PUT and POST (update & |
| |
3364 |
create). The new mechanism is more secure, more featureful and is |
| |
3365 |
transactional. If your put/post affects multiple database rows, they |
| |
3366 |
will either all happen or none will. See the model_controller_spec |
| |
3367 |
for some good examples of what is allowed / possible. |
| |
3368 |
|
| |
3369 |
def_data_filter is gone. Instead you can declare data filters from |
| |
3370 |
within the action methods: |
| |
3371 |
|
| |
3372 |
def index |
| |
3373 |
data_filter :search do |query| |
| |
3374 |
name_contains(query) | address_contains(query) |
| |
3375 |
end |
| |
3376 |
hobo_index |
| |
3377 |
end |
| |
3378 |
|
| |
3379 |
Declare data filters for autocompleters in the same way by giving |
| |
3380 |
a block to autocomplete_for |
| |
3381 |
|
| |
3382 |
#index now supports a "sort" parameter. The value should be |
| |
3383 |
<field-name> or <model>.<field-name>. Precede with a '-' to sort in |
| |
3384 |
descending order. e.g. |
| |
3385 |
|
| |
3386 |
http://host/users?sort=-username |
| |
3387 |
|
| |
3388 |
Provide the :order parameter to hobo_index to disable. |
| |
3389 |
|
| |
3390 |
The mechanism to call a tag <ShowPage> if there is no show.dryml is |
| |
3391 |
extended to work with any action name. So e.g. you can define |
| |
3392 |
<FooPage> as an application wide page for any action "foo". |
| |
3393 |
|
| |
3394 |
|
| |
3395 |
Hobo user controller |
| |
3396 |
|
| |
3397 |
Options can now be given as procs, in which case they are called |
| |
3398 |
only when needed and hence have access to things like current_user |
| |
3399 |
(e.g. the redirect destination for a logged in user can take into |
| |
3400 |
account who the user is) |
| |
3401 |
|
| |
3402 |
#hobo_login can be given a block -- a place to check if the users |
| |
3403 |
account is available. Return false to prevent the user from loggin |
| |
3404 |
in. |
| |
3405 |
|
| |
3406 |
|
| |
3407 |
Hobo module |
| |
3408 |
|
| |
3409 |
#can_view? can now be given dotted field paths. E.g: |
| |
3410 |
|
| |
3411 |
Hobo.can_view(current_user, post, "author.name") |
| |
3412 |
|
| |
3413 |
|
| |
3414 |
Hobo Rapid |
| |
3415 |
|
| |
3416 |
Adding low_pro.js (from the UJS project). First step towards |
| |
3417 |
complete adoption of unobstrusive JavaScript. |
| |
3418 |
|
| |
3419 |
Fix to client side of new ajax mechanism. Had problems with not URL |
| |
3420 |
encoding part state. |
| |
3421 |
|
| |
3422 |
New taglib rapid_plus, home of tags with an extra level of |
| |
3423 |
functionality. First and only tag: <TablePlus> a table with |
| |
3424 |
automatic support for sorting by clicking on column headings, and |
| |
3425 |
filtering rows via a search field. |
| |
3426 |
|
| |
3427 |
<Table> now supports tempalte parameters for each cell when given a |
| |
3428 |
'fields' attribute, e.g. <name_view> <address_view> (<name_cell> |
| |
3429 |
might seem like a better name, but we wanted to be compatible with |
| |
3430 |
<FieldList> so it's easy to flip back and forth). |
| |
3431 |
|
| |
3432 |
<name> tag now respects view permission. |
| |
3433 |
|
| |
3434 |
<a action="new"> now only renders the link if the current user has |
| |
3435 |
the required create permission. |
| |
3436 |
|
| |
3437 |
<view> now supports attribute 'truncate' |
| |
3438 |
|
| |
3439 |
<view for_type="Date"> now supports a 'format' attribute - a |
| |
3440 |
strftime style format string. |
| |
3441 |
|
| |
3442 |
New tag <restricted_page>. Sometimes permissions are a view layer |
| |
3443 |
concern - you actually want to say "these colors, this logo, |
| |
3444 |
etc. are only to be seen by the administrator". |
| |
3445 |
|
| |
3446 |
<restricted_page login_required="Administrator"/> |
| |
3447 |
|
| |
3448 |
New tag <you_have>. An easy way to say either "You have 3 posts in |
| |
3449 |
this thread" or "Fred Blogs has 3 posts in this thread", depending |
| |
3450 |
on whether Fred Blogs is the current user. |
| |
3451 |
|
| |
3452 |
Fixes to the tags in rapid_documents to avoid evaling tagbody twice. |
| |
3453 |
|
| |
3454 |
<hidden_fields> fixed (was outputing hidden fields even when the |
| |
3455 |
field existed in the form). Also now support "for_query_string" |
| |
3456 |
attribute, to output hidden fields for the name/value pairs in the |
| |
3457 |
current query string. |
| |
3458 |
|
| |
3459 |
<form> now sets a scoped variable "in_form" so tags can behave |
| |
3460 |
differently when they are inside a form (FieldList does this). |
| |
3461 |
|
| |
3462 |
<input> for datetime and date now supports the same attributes as |
| |
3463 |
the equivalent rails helpers. e.g. you can change the order of the |
| |
3464 |
fields. |
| |
3465 |
|
| |
3466 |
<belongs_to_menu_input> can now be passed an array of records in the |
| |
3467 |
"options" attribute (instead of retrieving the entire target table |
| |
3468 |
from the DB). |
| |
3469 |
|
| |
3470 |
Fixes to page navigation |
| |
3471 |
|
| |
3472 |
<account_nav> upgraded to cope with multiple user models. |
| |
3473 |
|
| |
3474 |
Rapid pages: |
| |
3475 |
|
| |
3476 |
Various new template params made available, including many on |
| |
3477 |
login and signup pages. |
| |
3478 |
|
| |
3479 |
<Page> updated for multiple user models |
| |
3480 |
|
| |
3481 |
<IndexPage> fix to ajax updating of record count |
| |
3482 |
|
| |
3483 |
New css classes added to <NewPage> and <EditPage> |
| |
3484 |
|
| |
3485 |
<error_messages> added to <EditPage> |
| |
3486 |
|
| |
3487 |
Fix to new link in <ShowCollectionPage> |
| |
3488 |
|
| |
3489 |
<image> tag removed from default ajax progress. |
| |
3490 |
|
| |
3491 |
|
| |
3492 |
|
| |
3493 |
Dryml |
| |
3494 |
|
| |
3495 |
Important change ommitted from 0.6 changelog - attributes passed to |
| |
3496 |
the tag that are not in the tags declared attributes are available |
| |
3497 |
in a local variable "attributes" (used to be called "options"). |
| |
3498 |
|
| |
3499 |
<set> can now assign to dotted named (object attributes) as well as |
| |
3500 |
locals, and can have controll attributes on it (e.g. if) |
| |
3501 |
|
| |
3502 |
Fix to replacing template parameters that are themselves templates. |
| |
3503 |
|
| |
3504 |
When a boolean is in context, this_type is now always TrueClass |
| |
3505 |
(never FalseClass even if the value is false). TrueClass is the Hobo |
| |
3506 |
boolean type. |
| |
3507 |
|
| |
3508 |
#render_tag on a page renderer object (Dryml internals) now returns |
| |
3509 |
false. This alows Hobo's controller to say "call this tag if it |
| |
3510 |
exists, otherwise..." |
| |
3511 |
|
| |
3512 |
|
| |
3513 |
Rich types |
| |
3514 |
|
| |
3515 |
Registered rich types can now provide there own validations that get |
| |
3516 |
added to the model automatically. E.g. Hobo::EmailAddress |
| |
3517 |
automatically validates the content as a valid email address. |
| |
3518 |
|
| |
3519 |
|
| |
3520 |
Hobo helpers |
| |
3521 |
|
| |
3522 |
New helper query_params returns a hash of parameters extracted from |
| |
3523 |
the query string only (#params returns route-based parameters |
| |
3524 |
too). Only works with simple name=value parameters. |
| |
3525 |
|
| |
3526 |
|
| |
3527 |
=== Release 0.6.1 === |
| |
3528 |
|
| |
3529 |
Multiple user models |
| |
3530 |
|
| |
3531 |
Hobo now supports multiple user models, with independent sign-up / |
| |
3532 |
log-in/out for each. |
| |
3533 |
|
| |
3534 |
The controller needs to declare hobo_user_controller instead of |
| |
3535 |
hobo_model_controller (it still has all the hobo_model_controller |
| |
3536 |
features). e.g. |
| |
3537 |
|
| |
3538 |
class AdminsController; hobo_user_controller; end |
| |
3539 |
|
| |
3540 |
Hobo routing will automatically give you |
| |
3541 |
|
| |
3542 |
/admin_login |
| |
3543 |
/admin_logout |
| |
3544 |
/admin_signup |
| |
3545 |
|
| |
3546 |
Note this controller will now filter logging of passwords. |
| |
3547 |
|
| |
3548 |
The model needs to include Hobo::AuthenticatedUser and declare a |
| |
3549 |
login attribute with, e.g. |
| |
3550 |
|
| |
3551 |
set_login_attr :email |
| |
3552 |
|
| |
3553 |
The hobo_front_controller generator no longer generates anything |
| |
3554 |
related to users - it's now just the fron page and search page. |
| |
3555 |
|
| |
3556 |
There is a new hobo_user_model generator to create these |
| |
3557 |
controllers. |
| |
3558 |
|
| |
3559 |
The global value Hobo.user_model is gone |
| |
3560 |
|
| |
3561 |
Rapid now has <LoginPage> and <SignupPage> templates. They're not so |
| |
3562 |
customisable just now but you can of course replace them completely |
| |
3563 |
with your own views. |
| |
3564 |
|
| |
3565 |
|
| |
3566 |
Misc fixes |
| |
3567 |
|
| |
3568 |
Search was broken |
| |
3569 |
|
| |
3570 |
The 'hobo' command tried to connect to the DB, which was a problem |
| |
3571 |
as you'd had no chance to configure database.yml |
| |
3572 |
|
| |
3573 |
|
| |
3574 |
Rapid |
| |
3575 |
|
| |
3576 |
Fix: reset_form and refocus form options |
| |
3577 |
|
| |
3578 |
<Table> now supports @fields, allowing you to give a bunch of field |
| |
3579 |
names and automatically have a table with a column for each of those |
| |
3580 |
fields. There's also a <controls> param that can be used to have a |
| |
3581 |
delete button and edit link on each row. As usual there's a ton of |
| |
3582 |
customisation options - see the source. |
| |
3583 |
|
| |
3584 |
<human_type> is now <type_name> and takes flags @plural and @lowercase |
| |
3585 |
|
| |
3586 |
<editor> and <input> have better automatic css classes |
| |
3587 |
|
| |
3588 |
Restored old behaviour where <page_nav/> would display nothing when |
| |
3589 |
there's only one page. |
| |
3590 |
|
| |
3591 |
Finally created <EditPage> |
| |
3592 |
|
| |
3593 |
Small cleanups in the rapid pages |
| |
3594 |
|
| |
3595 |
New tag <with_field_names/> used in <Table> to iterate over the |
| |
3596 |
column headings. |
| |
3597 |
|
| |
3598 |
<view> for Time objects now supports @format - a strftime style |
| |
3599 |
format string. |
| |
3600 |
|
| |
3601 |
|
| |
3602 |
|
| |
3603 |
Migration generator |
| |
3604 |
|
| |
3605 |
Fix: Edge Rails now dumps out in sexy format, which was freaking the |
| |
3606 |
migration generator. |
| |
3607 |
|
| |
3608 |
You can now configure the generator to completely ignore specified |
| |
3609 |
tables and models. In environment.rb do |
| |
3610 |
|
| |
3611 |
Hobo::Migrations.ignore = %w(red_fish blue_fish) |
| |
3612 |
|
| |
3613 |
That will ignore the models RedFish and BlueFish, and the tables |
| |
3614 |
red_fishes and blue_fishes |
| |
3615 |
|
| |
3616 |
To ignore just tables, assign an array of their names to |
| |
3617 |
|
| |
3618 |
Hobo::Migrations.ignore_tables |
| |
3619 |
|
| |
3620 |
To ignore just models, assign an array of the class names to |
| |
3621 |
|
| |
3622 |
Hobo::Migrations.ignore_models |
| |
3623 |
|
| |
3624 |
New secure ajax parts mechanism |
| |
3625 |
|
| |
3626 |
The new mechanism stores the part state in a base 64 encoded string, |
| |
3627 |
complete with an SHA1 (by default) digest, so malicious tampering |
| |
3628 |
with the part state is prevented. |
| |
3629 |
|
| |
3630 |
Parts can now capture the state of local variables along with the |
| |
3631 |
DRYML context. Give a list of locals you wish to capture in the |
| |
3632 |
'part_locals' attribute. e.g. |
| |
3633 |
|
| |
3634 |
<div part="my_part" part_locals="a, b"> ... </div> |
| |
3635 |
|
| |
3636 |
(the inability to do this was a serious limitation of the previous |
| |
3637 |
mechanism) |
| |
3638 |
|
| |
3639 |
|
| |
3640 |
Core extensions |
| |
3641 |
|
| |
3642 |
Added Methodphitamine and removed omap, oselect, ofind, oany oall. |
| |
3643 |
|
| |
3644 |
See http://jicksta.com/articles/2007/08/04/the-methodphitamine |
| |
3645 |
|
| |
3646 |
|
| |
3647 |
DRYML |
| |
3648 |
|
| |
3649 |
merge_attrs fixed to not complain about nils |
| |
3650 |
|
| |
3651 |
Fix: css classes were not accumulated in some template parameter |
| |
3652 |
situations |
| |
3653 |
|
| |
3654 |
|
| |
|