hobo 1.3.0.pre19 → 1.3.0.pre20
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +282 -234
- data/VERSION +1 -1
- data/lib/generators/hobo/admin_subsite/templates/controller.rb.erb +5 -5
- data/lib/generators/hobo/assets/templates/dryml-support.js +2 -2
- data/lib/generators/hobo/i18n/templates/hobo.it.yml +1 -1
- data/lib/generators/hobo/rapid/templates/hobo-rapid.js +64 -64
- data/lib/generators/hobo/rapid/templates/ie7-recalc.js +21 -21
- data/lib/generators/hobo/rapid/templates/lowpro.js +31 -31
- data/lib/generators/hobo/rapid/templates/reset.css +1 -1
- data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/clean.css +15 -15
- data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
- data/lib/generators/hobo/rapid/templates/themes/clean/views/clean.dryml +1 -1
- data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +15 -14
- data/lib/generators/hobo/subsite/templates/controller.rb.erb +1 -1
- data/lib/generators/hobo/user_controller/templates/controller.rb.erb +2 -2
- data/lib/hobo.rb +1 -0
- data/lib/hobo/controller.rb +6 -6
- data/lib/hobo/controller/authentication_support.rb +1 -1
- data/lib/hobo/controller/model.rb +10 -10
- data/lib/hobo/controller/user.rb +6 -6
- data/lib/hobo/engine.rb +6 -0
- data/lib/hobo/extensions/action_view/translation_helper.rb +20 -0
- data/lib/hobo/extensions/active_model/translation.rb +1 -1
- data/lib/hobo/extensions/i18n.rb +16 -0
- data/lib/hobo/helper.rb +2 -2
- data/lib/hobo/helper/translations.rb +61 -80
- data/lib/hobo/model/lifecycles/lifecycle.rb +5 -1
- data/lib/hobo/model/lifecycles/transition.rb +1 -0
- data/lib/hobo/rapid/generators/rapid/cards.dryml.erb +2 -2
- data/lib/hobo/rapid/generators/rapid/forms.dryml.erb +2 -2
- data/lib/hobo/rapid/generators/rapid/pages.dryml.erb +7 -7
- data/lib/hobo/rapid/taglibs/rapid.dryml +1 -1
- data/lib/hobo/rapid/taglibs/rapid_core.dryml +8 -8
- data/lib/hobo/rapid/taglibs/rapid_document_tags.dryml +2 -2
- data/lib/hobo/rapid/taglibs/rapid_forms.dryml +9 -9
- data/lib/hobo/rapid/taglibs/rapid_generics.dryml +1 -1
- data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +0 -17
- data/lib/hobo/rapid/taglibs/rapid_lifecycles.dryml +5 -5
- data/lib/hobo/rapid/taglibs/rapid_navigation.dryml +1 -1
- data/lib/hobo/rapid/taglibs/rapid_plus.dryml +6 -6
- data/lib/hobo/rapid/taglibs/rapid_user_pages.dryml +8 -8
- data/test/permissions/test_permissions.rb +103 -103
- metadata +15 -14
- data/lib/hobo/rapid/taglibs/rapid_translations.dryml +0 -36
data/CHANGES.txt
CHANGED
@@ -14,9 +14,57 @@ likely to cause conflicts, so it is highly recommended that you have
|
|
14
14
|
your code backed up and in a change control system such as git or
|
15
15
|
subversion.
|
16
16
|
|
17
|
+
=== Hobo 1.0.3 ===
|
18
|
+
|
19
|
+
This is a security release. All applications that use the reset
|
20
|
+
password functionality should upgrade.
|
21
|
+
|
22
|
+
To patch the vulnerability, two changes have been made.
|
23
|
+
|
24
|
+
First of all, the lifecycle key hash mechanism has been changed.
|
25
|
+
Existing lifecycle keys will become invalid after you upgrade.
|
26
|
+
Lifecycle keys are typically short lived, so this is unlikely to be a
|
27
|
+
problem for most applications.
|
28
|
+
|
29
|
+
Secondly, lifecycle keys are now cleared on every transition to avoid
|
30
|
+
replay vulnerabilities. This new behaviour may be avoided by added
|
31
|
+
the `:dont_clear_key => true` option to a transition.
|
32
|
+
|
33
|
+
More information about the vulnerability can be viewed on the [bug
|
34
|
+
report](https://hobo.lighthouseapp.com/projects/8324/tickets/666-user-model-secure-links-have-low-security).
|
35
|
+
|
36
|
+
All code changes may viewed on the [github
|
37
|
+
log](https://github.com/tablatom/hobo/compare/v1.0.2...v1.0.3)
|
38
|
+
|
39
|
+
=== Hobo 1.0.2 ===
|
40
|
+
|
41
|
+
This release is almost identical to 1.0.1 except that it updates the
|
42
|
+
version requirements to exclude Rails3. Hobo does not currently work
|
43
|
+
with Rails3, although we are working on it.
|
44
|
+
|
45
|
+
This release silences some warnings produced when running with Rails
|
46
|
+
2.3.10.
|
47
|
+
|
48
|
+
This release contains preliminary support for Ruby 1.9.2, although you
|
49
|
+
may encounter problems if you use Single Type Inheritance (STI)
|
50
|
+
models.
|
51
|
+
|
52
|
+
A few very minor bug fixes have also been included. See the [github
|
53
|
+
log](https://github.com/tablatom/hobo/compare/v1.0.1...v1.0.2) for
|
54
|
+
more details.
|
55
|
+
|
56
|
+
=== Hobo 1.0.1 ===
|
57
|
+
|
58
|
+
This version contains two speedups: one fix that reduces the number of
|
59
|
+
database accesses by Matt Jones and one that speeds up compilation of
|
60
|
+
DRYML by Petteri Räty.
|
61
|
+
|
62
|
+
This version also contains several bug fixes. See the [github
|
63
|
+
log](http://github.com/tablatom/hobo/tree/v1.0.1) for more details.
|
64
|
+
|
17
65
|
=== Hobo 1.0.0 ===
|
18
66
|
|
19
|
-
Drumm-roll! Trumpets! Fanfare!
|
67
|
+
Drumm-roll! Trumpets! Fanfare!
|
20
68
|
|
21
69
|
We did it : )
|
22
70
|
|
@@ -49,7 +97,7 @@ callbacks.
|
|
49
97
|
|
50
98
|
`x._?.to_s` now returns nil rather than a blank string
|
51
99
|
|
52
|
-
[#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
|
100
|
+
[#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
|
53
101
|
|
54
102
|
If you previously had a snippet such as this:
|
55
103
|
|
@@ -268,7 +316,7 @@ Major enhancements:
|
|
268
316
|
|
269
317
|
- [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)
|
270
318
|
The transition-buttons tag now generates buttons that link to the
|
271
|
-
transition page for transitions that require parameters.
|
319
|
+
transition page for transitions that require parameters.
|
272
320
|
|
273
321
|
- [Bug 532](https://hobo.lighthouseapp.com/projects/8324/tickets/532)
|
274
322
|
In previous versions, you had to add the new HTML5 tags to
|
@@ -278,7 +326,7 @@ Major enhancements:
|
|
278
326
|
|
279
327
|
Major bug fixes:
|
280
328
|
|
281
|
-
- [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
|
329
|
+
- [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
|
282
330
|
is a critical bug for invite-only projects. To incorporate the
|
283
331
|
fix, you must rerun your generators or follow the instructions in
|
284
332
|
the [commit](http://github.com/tablatom/hobo/commit/17247eac8a78f8b36dcc3b9684a3e4ec8da32a23)
|
@@ -341,7 +389,7 @@ Minor Enhancements:
|
|
341
389
|
- non-required fields that are marked :unique will now allow nil
|
342
390
|
values.
|
343
391
|
|
344
|
-
Minor Bug Fixes
|
392
|
+
Minor Bug Fixes
|
345
393
|
|
346
394
|
- [Bug 540](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/540)
|
347
395
|
Hobo::Permissions::Associations::HasManyThroughAssociations#create!
|
@@ -436,15 +484,15 @@ Minor enhancements:
|
|
436
484
|
validations
|
437
485
|
|
438
486
|
- [Bug 415](https://hobo.lighthouseapp.com/projects/8324/tickets/415): Visiting sign-up page when logged in gives permission
|
439
|
-
denied
|
487
|
+
denied
|
440
488
|
|
441
|
-
- 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)
|
489
|
+
- 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)
|
442
490
|
|
443
491
|
- Rapid forms -- added url attribute to `<remote-method-button>`
|
444
492
|
|
445
|
-
- HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
|
493
|
+
- HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
|
494
|
+
|
446
495
|
|
447
|
-
|
448
496
|
=== Hobo 0.8.7 ===
|
449
497
|
|
450
498
|
I forgot to refresh the Manifest, so this is a brown paper bag release.
|
@@ -495,9 +543,9 @@ shows the remaining tickets scheduled for 1.0
|
|
495
543
|
New permission system
|
496
544
|
|
497
545
|
Various fixes
|
498
|
-
|
546
|
+
|
499
547
|
Now runs permission checks *before* callbacks, not after
|
500
|
-
|
548
|
+
|
501
549
|
In the switch to the new permissions system, we changed to running them after all callbacks. This turned
|
502
550
|
out to be wrong. Permissions should only be about what the user tried to change, not other changes
|
503
551
|
triggered by application logic
|
@@ -510,7 +558,7 @@ Updated hobo command and hobo generator to use the new config.gem style for apps
|
|
510
558
|
does this automatically
|
511
559
|
|
512
560
|
Lifecycles fix -- state_name would throw a nil error if there was no state (not returns nil)
|
513
|
-
|
561
|
+
|
514
562
|
This was causing the :new_key option to fail on a create step
|
515
563
|
|
516
564
|
Fixes to problems with live-search introduced with the Rails 2.2 upgrade
|
@@ -529,38 +577,38 @@ BREAKING: New permission system
|
|
529
577
|
This is the major feature of this release. The big change is that we now use the dirty tracking features
|
530
578
|
of Active Record for update permission, rather than passing that weird 'new' object. We also use the
|
531
579
|
acting_user method throughout, rather than passing the user as an argument.
|
532
|
-
|
580
|
+
|
533
581
|
See the docs online: http://cookbook.hobocentral.net/manual/permissions
|
534
582
|
|
535
583
|
|
536
584
|
Removing special Hobo semantics for association.new which was breaking the Rails API, and added
|
537
585
|
#new_candidate
|
538
|
-
|
586
|
+
|
539
587
|
association.new_candidate instantiates the record but does not add it to the collection.
|
540
|
-
|
588
|
+
|
541
589
|
Fix to linkable? helpers when context responds to origin but is not a collection
|
542
|
-
|
590
|
+
|
543
591
|
POSSIBLY BREAKING: Improved multi-model form support
|
544
592
|
|
545
593
|
has_many and belongs_to now support the :accessible => true option, which allows mass-asssignment of
|
546
594
|
attributes to work with sub-hashes that correspond to associations. Docs to follow!
|
547
|
-
|
595
|
+
|
548
596
|
BREAKING: Lifecycle improvements
|
549
597
|
|
550
598
|
The lifecycle DSL has been tidied up. Various changes to the semantics.
|
551
|
-
|
599
|
+
|
552
600
|
Lifecycle validations are now supported (e.g. validates_presence_of :foo, :on => :my_transition)
|
553
|
-
|
601
|
+
|
554
602
|
Also small improvements to the controller layer lifecycles support
|
555
|
-
|
603
|
+
|
556
604
|
See: http://cookbook.hobocentral.net/manual/lifecycles
|
557
|
-
|
605
|
+
|
558
606
|
New ViewHints mechanism
|
559
607
|
|
560
608
|
Classes in app/viewhints are a place to declare things about your models that are view layer concerns.
|
561
609
|
For example, you can give the presenation name for a field if this should be different from the back-end
|
562
610
|
name. You can give "field help" for each field. You can specify which collections are the "children" of a
|
563
|
-
model from a UI point of view.
|
611
|
+
model from a UI point of view.
|
564
612
|
|
565
613
|
Rapid <select-many> -- removed use of <a-or-an> as it gets some words wrong (e.g. "an user")
|
566
614
|
|
@@ -593,7 +641,7 @@ Rapid <input-many> -- added support for disable attribute
|
|
593
641
|
Fix to <hobo-rapid-javascripts> when forgery protection is disabled
|
594
642
|
|
595
643
|
User model - validates_presence_of password confirmation, in addition to validates_confirmation_of
|
596
|
-
|
644
|
+
|
597
645
|
Fixes #310 - thanks to Jaub Suder
|
598
646
|
|
599
647
|
BREAKING: Rapid page generators -- Renamed 'primary-content' parameter in <show-page> to 'description'
|
@@ -603,7 +651,7 @@ User controller -- made account action follow the auto_actions declaration
|
|
603
651
|
Changed hobo->hobofields->hobosupport gem dependency rules to require the exact version
|
604
652
|
|
605
653
|
User model generator -- Hobo apps now have people log in with their email address by default, and the user
|
606
|
-
has a 'name' field rather than 'username'.
|
654
|
+
has a 'name' field rather than 'username'.
|
607
655
|
|
608
656
|
Note this will not effect existing apps
|
609
657
|
|
@@ -655,7 +703,7 @@ Rapid JavaScripts -- adding custom events to <select-many>
|
|
655
703
|
Rapid JavaScript -- added option to specify { message: false } on ajaxRequest to disable the spinner
|
656
704
|
|
657
705
|
Model Controller -- fix to re_render_form when in a subsite
|
658
|
-
|
706
|
+
|
659
707
|
hobo_model_controller generator -- adding support for generating subsite controllers
|
660
708
|
|
661
709
|
HoboSupport -- adding remove and remove_all (plus mutating versions with a !) to string - better name for
|
@@ -669,9 +717,9 @@ Model controller -- fix to index actions on non-paginated formats (was passing w
|
|
669
717
|
regular find)
|
670
718
|
|
671
719
|
Migration generator -- adding option: --force-drop-yes-i-really-mean-it-i-know-what-i-am-doing-dammit
|
672
|
-
|
720
|
+
|
673
721
|
Not really, it's actually just --force-drop
|
674
|
-
|
722
|
+
|
675
723
|
With this option it won't ask you "drop or rename?" it will just drop
|
676
724
|
|
677
725
|
HoboFields -- fix to EnumString when values are not valid contant names
|
@@ -684,7 +732,7 @@ attributes)
|
|
684
732
|
Rapid -- adding support for 'disabled' attribute to <select-one>
|
685
733
|
|
686
734
|
Rapid -- added a 'no-edit' attribute to <input> and <field-list>. Gives control over how
|
687
|
-
non-editable fields are handled.
|
735
|
+
non-editable fields are handled.
|
688
736
|
|
689
737
|
- view: render the current value using the `<view>` tag
|
690
738
|
- disable: render the input as normal, but add HTML's `disabled` attribute
|
@@ -713,7 +761,7 @@ Rapid -- tweak to behaviour of <name>. Is now more sensible when called on a non
|
|
713
761
|
|
714
762
|
Re-organisation and documentation for Rapid Document Tags
|
715
763
|
|
716
|
-
BREAKING: Deleted <panel> tag.
|
764
|
+
BREAKING: Deleted <panel> tag.
|
717
765
|
|
718
766
|
Models - fix to overriding of not_found and permission_denied in applicatin controller. Also fix to bug in
|
719
767
|
permission denied
|
@@ -725,15 +773,15 @@ DRYML -- allow - instead of _ in repeat/if/unless, when not code attribute
|
|
725
773
|
HoboSupport - re-org of the file layout
|
726
774
|
|
727
775
|
HoboFields -- new rich type :serialized (HoboFields::SerializedObject)
|
728
|
-
|
776
|
+
|
729
777
|
example usage: foo :serialized, :class => Array
|
730
|
-
|
778
|
+
|
731
779
|
Also some fixes to wrapping of rich types that were needed
|
732
780
|
|
733
781
|
HoboFields -- adding 'declared' callback to rich types. Called whenever a field of that type is declared
|
734
782
|
|
735
783
|
See HoboFields::HtmlString for an example
|
736
|
-
|
784
|
+
|
737
785
|
HoboFields -- new types RawHtmlString and RawMarkdownString that are not sanitized. Plus fix to sanitizing
|
738
786
|
|
739
787
|
DRYML -- new DrymlDoc facility. Starting point for a roll-your-own documentation generator
|
@@ -778,9 +826,9 @@ Rapid - adding polymorphic <collection-input> tag as a place to define the kind
|
|
778
826
|
collections of a given model
|
779
827
|
|
780
828
|
Rapid javascripts -- making non-ajax HTML Editor pluggable
|
781
|
-
|
829
|
+
|
782
830
|
Plugins assign a function to Hobo.makeHtmlEditor. See hoboyui plugin for an example (github.com/tablatom)
|
783
|
-
|
831
|
+
|
784
832
|
Adding XSS protection to HoboFields rich types (Sanitizing)
|
785
833
|
|
786
834
|
Rapid -- new tag <check-many>. Add remove items to a has_many :through by checking the ones you want. Obviously
|
@@ -806,7 +854,7 @@ this)
|
|
806
854
|
User pages:
|
807
855
|
|
808
856
|
Added editing of email address to user's account page
|
809
|
-
|
857
|
+
|
810
858
|
Got rid of <change-password-form>
|
811
859
|
|
812
860
|
Rapid plus -- added <preview-with-more> and <gravatar> tags
|
@@ -910,7 +958,7 @@ Rapid - fix to <remote-method-button> -- the confirm attribute was incorrectly c
|
|
910
958
|
|
911
959
|
Rapid -- <select-menu> now supports an array of label/value pairs, like the options_for_select helper
|
912
960
|
|
913
|
-
Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
|
961
|
+
Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
|
914
962
|
<after-submit stay-here/> (occured after a validation error)
|
915
963
|
|
916
964
|
New tag <input-all> for situations where you want input for every item in an existing collection (without the +/- buttons that
|
@@ -1011,7 +1059,7 @@ Hobo users now have an #account_active? method. Used in two places:
|
|
1011
1059
|
|
1012
1060
|
- This method rather than the return value of the block passed to hobo_login, is now used to figure out if an
|
1013
1061
|
account is active when logging in.
|
1014
|
-
|
1062
|
+
|
1015
1063
|
- After signing up, also log the user in iff account_active? is true. This is useful if there is a second step to
|
1016
1064
|
signing up, such as email activation
|
1017
1065
|
|
@@ -1036,13 +1084,13 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1036
1084
|
Migration generator -- fixed bug with validation of filename input by user
|
1037
1085
|
|
1038
1086
|
New lifecycle semantics.
|
1039
|
-
|
1087
|
+
|
1040
1088
|
Lifecycle create and transition actions (blocks) now run *after* the create or transition, and not at all
|
1041
1089
|
if there are validation errors.
|
1042
|
-
|
1090
|
+
|
1043
1091
|
To create a key, you can no longer call lifecycle.generate_key in the action, as the key timestamp will not
|
1044
1092
|
be saved (record has already been saved)
|
1045
|
-
|
1093
|
+
|
1046
1094
|
Instead pass :new_key => true as an option to the create or transition, and access it in the block using
|
1047
1095
|
lifecycle.key
|
1048
1096
|
|
@@ -1059,7 +1107,7 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1059
1107
|
|
1060
1108
|
New user model method account_active? Default implementation is state == 'active' but this method is intended
|
1061
1109
|
as a hook that can be overridden as required.
|
1062
|
-
|
1110
|
+
|
1063
1111
|
On signup, the user is only logged in if user has #account_active?
|
1064
1112
|
|
1065
1113
|
Rapid generators -- fixes for form cancel links
|
@@ -1076,9 +1124,9 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1076
1124
|
|
1077
1125
|
Rapid generators -- fix for show-page generator, when the 'owner' association that goes with the page's
|
1078
1126
|
collection cannot be found
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1127
|
+
|
1128
|
+
|
1129
|
+
|
1082
1130
|
=== Hobo 0.8 ===
|
1083
1131
|
|
1084
1132
|
(There's a million changes in this release -- most of the fixes are *not* mentioned)
|
@@ -1090,12 +1138,12 @@ Hobo can now be used entirely from the gem, and need not be installed in vendor/
|
|
1090
1138
|
hobo command
|
1091
1139
|
|
1092
1140
|
Now shows you what it's doing
|
1093
|
-
|
1141
|
+
|
1094
1142
|
Renamed --create-dbs to --db-create to match the name of the rake task
|
1095
|
-
|
1143
|
+
|
1096
1144
|
|
1097
1145
|
DRYML
|
1098
|
-
|
1146
|
+
|
1099
1147
|
DRYML generators
|
1100
1148
|
|
1101
1149
|
Hobo now provides a facility to generate DRYML tags on the fly using normal erb based templates. (the generators run
|
@@ -1107,18 +1155,18 @@ DRYML
|
|
1107
1155
|
|
1108
1156
|
<def tag="page" extend-with="app">
|
1109
1157
|
<page-without-app>
|
1110
|
-
|
1158
|
+
|
1111
1159
|
we now have
|
1112
|
-
|
1160
|
+
|
1113
1161
|
<extend tag="page">
|
1114
1162
|
<old-page>
|
1115
|
-
|
1163
|
+
|
1116
1164
|
Also works with polymorphic tags, e.g. <extend tag="card" for="Product">
|
1117
|
-
|
1165
|
+
|
1118
1166
|
Polymorphic tags: new mechanism for defining polymorphic tags.
|
1119
|
-
|
1167
|
+
|
1120
1168
|
<def tag="foo" polymorphic> ... "base" definition here ... </def>
|
1121
|
-
|
1169
|
+
|
1122
1170
|
<def tag="foo" for="Product">
|
1123
1171
|
... in here you can call <foo> and it's not a recursive call
|
1124
1172
|
but a call to the base definition ...
|
@@ -1126,30 +1174,30 @@ DRYML
|
|
1126
1174
|
|
1127
1175
|
"without" attributes: <page without-live-search> is a shorthand for <page><live-search: replace/>. Doesn't sound like
|
1128
1176
|
much but it's great. You'll like it.
|
1129
|
-
|
1177
|
+
|
1130
1178
|
<set> now respects the 'if' attribute
|
1131
1179
|
|
1132
1180
|
Using 'with' and 'field' on a parameter works more sensibly now -- DRYML will never merge with attributes and field
|
1133
1181
|
attributes
|
1134
|
-
|
1182
|
+
|
1135
1183
|
New semantics for scoped variables.
|
1136
1184
|
|
1137
1185
|
Scoped variables must be declared at the start of the scope. Assignments and reads always go back to the scope where
|
1138
1186
|
that variable was declared.
|
1139
|
-
|
1187
|
+
|
1140
1188
|
Fix to <foo:> </foo:> (i.e. one or more whitespace chars) being ignored
|
1141
1189
|
|
1142
1190
|
Removed feature from add_classes helper that was converting all _ to -. Closes #11
|
1143
|
-
|
1191
|
+
|
1144
1192
|
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
|
1145
1193
|
name, or is 'default'
|
1146
|
-
|
1194
|
+
|
1147
1195
|
Fixes to errors when reporting syntax error : )
|
1148
|
-
|
1196
|
+
|
1149
1197
|
Now raises an error rather than outputting nonsensical name attributes on form inputs
|
1150
|
-
|
1198
|
+
|
1151
1199
|
Removed incorrect leading '/' on template paths (e.g. in logs, stack traces)
|
1152
|
-
|
1200
|
+
|
1153
1201
|
Fix -- was accepting close tags that are a prefix of the start tags, e.g. <foo>...</fo>
|
1154
1202
|
|
1155
1203
|
|
@@ -1164,108 +1212,108 @@ Rapid tag Library
|
|
1164
1212
|
The standard <page> tag now has just a <content:> parameter. Specific pages might add <content-header:> or
|
1165
1213
|
<content-body:> themselves.
|
1166
1214
|
|
1167
|
-
As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
|
1215
|
+
As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
|
1168
1216
|
|
1169
1217
|
<section with-flash-messages> will include the flash messages at the top of the section *unless* they are rendered by a
|
1170
1218
|
sub-section or have been rendered already
|
1171
1219
|
|
1172
1220
|
Update forms with not render if the user doesn't have permission
|
1173
|
-
|
1221
|
+
|
1174
1222
|
Removed <nav> tag
|
1175
|
-
|
1223
|
+
|
1176
1224
|
Changed <a-or-an> to give you 'a hotel' not 'an hotel'
|
1177
1225
|
|
1178
1226
|
<card> now always renders a link if there is a show action. Closes #54
|
1179
|
-
|
1227
|
+
|
1180
1228
|
<collection> is no longer a polymorphic tag. Drag and drop support moved into separate tag: <sortable-collection>.
|
1181
|
-
|
1229
|
+
|
1182
1230
|
Got rid of <collection-preview>
|
1183
1231
|
|
1184
1232
|
<stylesheet> tag now calls Rails helper stylesheet_link_tag name to construct the link tag. This change was made so that the
|
1185
1233
|
css files are automatically cached using the timestamp mechanism, e.g. application.css?1218209632. The media attribute is now
|
1186
1234
|
'screen' instead of 'all' by default
|
1187
|
-
|
1235
|
+
|
1188
1236
|
Wrapped the output of <count> in a <span class='count'>
|
1189
1237
|
|
1190
1238
|
Renamed <name-for-collection> to <collection-name> and added a dasherize parameter
|
1191
|
-
|
1239
|
+
|
1192
1240
|
<ul> is gone from Rapid and is just a static tag again. Just do <ul><li repeat>
|
1193
|
-
|
1241
|
+
|
1194
1242
|
New version of IE7.js (http://ie7-js.googlecode.com/svn/trunk/lib/IE7.js rev 29)
|
1195
|
-
|
1243
|
+
|
1196
1244
|
<with-fields> (and hence <field-list>) now display fields in the order declared in the model
|
1197
|
-
|
1245
|
+
|
1198
1246
|
<card> and <show-page> no longer include the created_at timestamp
|
1199
1247
|
|
1200
1248
|
Added labels and titleize attributes to <editor for='HoboFields::EnumString'>
|
1201
|
-
|
1249
|
+
|
1202
1250
|
Added force (no edit check) attribute to <input>
|
1203
|
-
|
1251
|
+
|
1204
1252
|
<hidden-form-field> (formerly <hidden-field>) is gone
|
1205
|
-
|
1253
|
+
|
1206
1254
|
Fix to default label on non-ajax <remote-method-button>
|
1207
|
-
|
1255
|
+
|
1208
1256
|
Now outputs <span> not <div> to wrap field-with-errors (<div> is invalid)
|
1209
1257
|
|
1210
1258
|
Added <transition-buttons> and <transition-button> (lifecycles)
|
1211
1259
|
|
1212
1260
|
Added <dev-user-changer> when in development mode if there is a user model
|
1213
|
-
|
1261
|
+
|
1214
1262
|
<with-fields> now skips deleted_at by default
|
1215
|
-
|
1263
|
+
|
1216
1264
|
<name> now properly respects :name => true (in the model)
|
1217
|
-
|
1265
|
+
|
1218
1266
|
Optimised <count> so that it doesn't hit the DB for already loaded collections
|
1219
|
-
|
1267
|
+
|
1220
1268
|
Removed <heading> and <sub-heading> and <article>
|
1221
|
-
|
1269
|
+
|
1222
1270
|
Allowing <def tag=input for=MyModel> to customise inputs for any belongs_to :my_model
|
1223
|
-
|
1271
|
+
|
1224
1272
|
Changed 'There are no whatsits' message to 'No whatsits to display'
|
1225
|
-
|
1273
|
+
|
1226
1274
|
Moved to nicedit (nicedit.com) for HTML inputs and editors. Dropped all TinyMCE stuff. It turns out that this change too will
|
1227
1275
|
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
|
1228
1276
|
with a plugin, rather than make it part of core Hobo.
|
1229
|
-
|
1277
|
+
|
1230
1278
|
Added default empty message to <table-plus>
|
1231
|
-
|
1279
|
+
|
1232
1280
|
Rename <belongs-to-menu-editor> to <select-one-editor> and improvements. Removed "View" link.
|
1233
|
-
|
1281
|
+
|
1234
1282
|
Made <view> fall back on to_s rather than giving up
|
1235
1283
|
|
1236
1284
|
select-many: disabled options in the select drop down instead of trying to hide them. Fixed a problem in safari where 'choose
|
1237
1285
|
xxx...' would get added by mistake to the list
|
1238
|
-
|
1286
|
+
|
1239
1287
|
New 'options' attribute for <integer-select-editor>
|
1240
|
-
|
1288
|
+
|
1241
1289
|
If no <input> tag found, fall back on an input for the COLUMN_TYPE if defined
|
1242
|
-
|
1290
|
+
|
1243
1291
|
|
1244
1292
|
Model Controller
|
1245
1293
|
|
1246
1294
|
The collection actions, e.g. PostController#comments, PostController#new_comment and PostController#create_comment have
|
1247
1295
|
now been moved to the controller that looks after that particular model, e.g. CommentsController#index_for_post,
|
1248
1296
|
CommentsController#new_for_post and CommentsController#create_for_post. The old way was just plain wrong.
|
1249
|
-
|
1297
|
+
|
1250
1298
|
Named instance var (e.g. @post) is set in body of web methods
|
1251
|
-
|
1299
|
+
|
1252
1300
|
Factored out redirect code into #redirect_after_submit
|
1253
|
-
|
1301
|
+
|
1254
1302
|
Ensure default ordering is respected when paginating
|
1255
|
-
|
1303
|
+
|
1256
1304
|
Fix to checking in superclass for permission_denied and not_found methods
|
1257
1305
|
|
1258
1306
|
|
1259
1307
|
Migration generator
|
1260
1308
|
|
1261
1309
|
Fixed bug with :null setting
|
1262
|
-
|
1310
|
+
|
1263
1311
|
Ignore sessions table when using the ActiveRecord session store. Closes #187.
|
1264
|
-
|
1312
|
+
|
1265
1313
|
Fix to loading models that was causing stack overflows (double alias_method_chain)
|
1266
|
-
|
1314
|
+
|
1267
1315
|
Ignore schema_migrations table
|
1268
|
-
|
1316
|
+
|
1269
1317
|
Fix to loading of namespaced models
|
1270
1318
|
|
1271
1319
|
Fix to 'm' option on Windows
|
@@ -1284,7 +1332,7 @@ Clean theme
|
|
1284
1332
|
hobo-rapid.js
|
1285
1333
|
|
1286
1334
|
Hobo.applyEvents is gone - now uses lowpro for all JS events
|
1287
|
-
|
1335
|
+
|
1288
1336
|
Only do resetForm on success. Add new onSuccess callback to Hobo.ajaxRequest
|
1289
1337
|
|
1290
1338
|
|
@@ -1294,11 +1342,11 @@ Routing
|
|
1294
1342
|
(See hobo generator, below)
|
1295
1343
|
|
1296
1344
|
Fixes to lifecycle routes, so that object_url(obj, :signup, :method => 'post') works
|
1297
|
-
|
1345
|
+
|
1298
1346
|
Clean-up so that :format => false doesn't sneak into route options
|
1299
|
-
|
1347
|
+
|
1300
1348
|
Better error reporting if DB problems occur during routing
|
1301
|
-
|
1349
|
+
|
1302
1350
|
Doesn't try to load routes when running script/destroy
|
1303
1351
|
|
1304
1352
|
|
@@ -1333,43 +1381,43 @@ Lifecycles
|
|
1333
1381
|
Moving default user lifecycle (signup) from Hobo::User into the generated model file (hobo_user_model generator). Closes #148
|
1334
1382
|
|
1335
1383
|
Fixed problem with lifecycle keys when timezone was not configured. Now raises an error in that case. Closes #146
|
1336
|
-
|
1384
|
+
|
1337
1385
|
Changing lifecycle action names from signup_page (the form page) and signup (the post action), to signup (the form page) and
|
1338
1386
|
do_signup (th epost action)
|
1339
1387
|
|
1340
|
-
|
1388
|
+
|
1341
1389
|
Hobo models
|
1342
1390
|
|
1343
1391
|
Removed :manged => true option for has_many :through. ActiveRecord now does behaves like this by default.
|
1344
1392
|
|
1345
1393
|
Adding member_class meta-data when calling find_by_sql. Closes #231.
|
1346
|
-
|
1394
|
+
|
1347
1395
|
Moved Hobo.models to Hobo::Model.all_models, (also added Hobo::ModelController.all_controllers)
|
1348
|
-
|
1349
|
-
Added #foo_is? for every belongs_to :foo
|
1350
|
-
|
1396
|
+
|
1397
|
+
Added #foo_is? for every belongs_to :foo
|
1398
|
+
|
1351
1399
|
record.foo_is?(x) is like record.foo == x but does not force foo to load
|
1352
|
-
|
1400
|
+
|
1353
1401
|
Have an SEO friendly URL (#to_param) by default on any model with a name attribute
|
1354
|
-
|
1402
|
+
|
1355
1403
|
Added #acting_user, virtual attribute set to the user that does a user_update, user_save etc.
|
1356
|
-
|
1404
|
+
|
1357
1405
|
Include virtual attributes (e.g. a #name method) when guessing name, description etc.
|
1358
1406
|
|
1359
1407
|
|
1360
1408
|
HoboFields
|
1361
1409
|
|
1362
1410
|
Removed RedCloth monkey-patch. Not needed (and broken) in RedCloth 4
|
1363
|
-
|
1411
|
+
|
1364
1412
|
Support :null => true/false on belongs_to
|
1365
|
-
|
1413
|
+
|
1366
1414
|
Making HoboFields::HtmlString a subclass of HoboFields::Text
|
1367
|
-
|
1415
|
+
|
1368
1416
|
Adding :decimal as another name for BigDecimal
|
1369
1417
|
|
1370
1418
|
|
1371
1419
|
Removing symlink_plugins script now that it turns out there's no need for symlinks
|
1372
|
-
|
1420
|
+
|
1373
1421
|
Just clone the whole hobo repo to vendor/plugins/hobo
|
1374
1422
|
|
1375
1423
|
|
@@ -1377,27 +1425,27 @@ Removing symlink_plugins script now that it turns out there's no need for symlin
|
|
1377
1425
|
hobo_user_model generator
|
1378
1426
|
|
1379
1427
|
Removed permission methods that are never used
|
1380
|
-
|
1428
|
+
|
1381
1429
|
Replaced set_admin_on_forst_user with the actual code (a one liner) for greater clarity
|
1382
|
-
|
1430
|
+
|
1383
1431
|
Added forgotton password mailer
|
1384
|
-
|
1432
|
+
|
1385
1433
|
Adding email address to standard model (for forgotten password email)
|
1386
|
-
|
1434
|
+
|
1387
1435
|
|
1388
1436
|
|
1389
1437
|
Scopes
|
1390
1438
|
|
1391
1439
|
Goodbye def_scope (Rails now has named_scope). Made automatic scopes work with named_scope
|
1392
|
-
|
1440
|
+
|
1393
1441
|
apply_scopes now works on other scopes, e.g. User.admin?.apply_scopes(...)
|
1394
|
-
|
1442
|
+
|
1395
1443
|
Added by_most_recent automatic scope
|
1396
|
-
|
1444
|
+
|
1397
1445
|
Added is and is_not automatic scopes
|
1398
|
-
|
1446
|
+
|
1399
1447
|
Made search scope AND terms rather than OR
|
1400
|
-
|
1448
|
+
|
1401
1449
|
|
1402
1450
|
Removed dump_fixtures rake task. See lighthouse #51
|
1403
1451
|
|
@@ -1406,7 +1454,7 @@ Hobo controller -- adding #call_tag (#render_tag without the render)
|
|
1406
1454
|
|
1407
1455
|
|
1408
1456
|
Symlinked generators now even work when they call each other (hobo_model_resource => hobo_model)
|
1409
|
-
|
1457
|
+
|
1410
1458
|
|
1411
1459
|
Hobo support - renamed Enumerable#search to Enumerable#map_and_find. Was clashing with the #search automatic scope
|
1412
1460
|
|
@@ -1449,11 +1497,11 @@ Bundles
|
|
1449
1497
|
Pass the callers options to the Bundle#defaults
|
1450
1498
|
|
1451
1499
|
|
1452
|
-
Hobo Modles --
|
1500
|
+
Hobo Modles --
|
1453
1501
|
|
1454
1502
|
Migration generator -- exit with a warning if there are pending migrations
|
1455
1503
|
|
1456
|
-
|
1504
|
+
|
1457
1505
|
Removed tabla theme
|
1458
1506
|
|
1459
1507
|
|
@@ -1481,7 +1529,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1481
1529
|
New rake task generate_tag_reference. Creates simple HTML reference
|
1482
1530
|
docs, including any inline documentation comments (found
|
1483
1531
|
immediately above the <def>)
|
1484
|
-
|
1532
|
+
|
1485
1533
|
ModelController
|
1486
1534
|
|
1487
1535
|
Made it possible to have a custom #permission_denined and
|
@@ -1490,7 +1538,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1490
1538
|
Improved logic for figuring out redirect after destroy
|
1491
1539
|
|
1492
1540
|
Fix to bug where we would turn pagination off when we shouldn't
|
1493
|
-
|
1541
|
+
|
1494
1542
|
We now have a list of mime-types that we *don't* paginate for
|
1495
1543
|
(can be extended)
|
1496
1544
|
|
@@ -1521,7 +1569,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1521
1569
|
|
1522
1570
|
Allowing belongs_to and has_one associations to be set by name
|
1523
1571
|
during mass-assignment
|
1524
|
-
|
1572
|
+
|
1525
1573
|
e.g. person.attributes = { :department => 'Sales' }
|
1526
1574
|
|
1527
1575
|
Automatic scopes -- give up silently if there's a problem with the DB
|
@@ -1532,7 +1580,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1532
1580
|
Auto-completers are now working again. The tag to use is
|
1533
1581
|
<name-one>. Should be a how-to for this availabe soon.
|
1534
1582
|
|
1535
|
-
In-place-edits are working again
|
1583
|
+
In-place-edits are working again
|
1536
1584
|
|
1537
1585
|
New controller method call_dryml_tag (added by DRYML template
|
1538
1586
|
handler). Calls a tag and returns the result as a string.
|
@@ -1546,7 +1594,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1546
1594
|
Refactored the DRYML parser to make it easier to parse DRYML in other contexts
|
1547
1595
|
|
1548
1596
|
Rapid:
|
1549
|
-
|
1597
|
+
|
1550
1598
|
Improvements to wording on index-page
|
1551
1599
|
|
1552
1600
|
Display the users name, not login in the account-nav
|
@@ -1593,7 +1641,7 @@ contain edited highlights of the commit log.
|
|
1593
1641
|
|
1594
1642
|
Moving the part-contexts javascripts from the very end of the
|
1595
1643
|
output, to the end of <body>
|
1596
|
-
|
1644
|
+
|
1597
1645
|
The script tag must now be output by the <page>, instead of
|
1598
1646
|
being appended automatically by DRYML. This is done in
|
1599
1647
|
<simple-layout/>
|
@@ -1649,81 +1697,81 @@ contain edited highlights of the commit log.
|
|
1649
1697
|
Fix to <view for='text'/>
|
1650
1698
|
|
1651
1699
|
Improvements to <table-plus>
|
1652
|
-
|
1700
|
+
|
1653
1701
|
Ability to sort by name of 'this' when 'this' is one of the
|
1654
1702
|
fields
|
1655
|
-
|
1703
|
+
|
1656
1704
|
Keep table headings in when the table is empty
|
1657
|
-
|
1705
|
+
|
1658
1706
|
Don't include page nav if the collection doesn't support it
|
1659
1707
|
|
1660
1708
|
Improvements to rapid pages
|
1661
|
-
|
1709
|
+
|
1662
1710
|
Allowing has_many associations in forms
|
1663
|
-
|
1711
|
+
|
1664
1712
|
Allowing the primary collection on a show page to be provided by
|
1665
1713
|
an instance variable (so that filtering/searching/pagination are
|
1666
1714
|
supported)
|
1667
|
-
|
1715
|
+
|
1668
1716
|
Tidy of <show-page>
|
1669
|
-
|
1717
|
+
|
1670
1718
|
<index-page> -- improved wording
|
1671
1719
|
|
1672
1720
|
Fixes to <index-page>
|
1673
1721
|
|
1674
1722
|
<account-nav> make 'logged in as bob' a link to current_user
|
1675
|
-
|
1723
|
+
|
1676
1724
|
Factored out default <collection> into <base-collection>, and
|
1677
1725
|
fixes to <collection-preview>
|
1678
|
-
|
1726
|
+
|
1679
1727
|
<base-card> -- add 'edit' link
|
1680
1728
|
|
1681
1729
|
<base-card> change 'title' param to 'heading' and make it easier
|
1682
1730
|
to provide your own
|
1683
|
-
|
1731
|
+
|
1684
1732
|
<creation-details> use a div rather than a span
|
1685
|
-
|
1733
|
+
|
1686
1734
|
Fix to <select-many>
|
1687
1735
|
|
1688
1736
|
Fix to <select-menu>
|
1689
|
-
|
1737
|
+
|
1690
1738
|
Fix to <input for='datetime'>
|
1691
|
-
|
1739
|
+
|
1692
1740
|
Rapid forms: switching to <select-one> and <select-many> naming
|
1693
|
-
|
1741
|
+
|
1694
1742
|
<form> -- don't include auth token on GET forms
|
1695
|
-
|
1743
|
+
|
1696
1744
|
Rapid: <belongs-to-menu-editor> -- don't show 'View' link if the
|
1697
1745
|
thing is not linkable
|
1698
|
-
|
1746
|
+
|
1699
1747
|
Rapid: adding sort attribute to <belongs-to-menu-editor>
|
1700
1748
|
|
1701
1749
|
Rapid: default 'no-filter' option for filter-menu
|
1702
|
-
|
1750
|
+
|
1703
1751
|
Rapid: Fix to extraneous whitespace in <you>
|
1704
|
-
|
1752
|
+
|
1705
1753
|
Rapid: better guess of label on <count>
|
1706
|
-
|
1754
|
+
|
1707
1755
|
Rapid: Use association name rather than class name in css classes
|
1708
1756
|
on <a> tags (when available)
|
1709
1757
|
|
1710
1758
|
Rapid: Fix to use of <else> with <a>
|
1711
|
-
|
1759
|
+
|
1712
1760
|
Removed 'all' method from ScopedProxy - delegates to the model
|
1713
1761
|
class instead
|
1714
|
-
|
1762
|
+
|
1715
1763
|
Fix to origin_attribute on scoped associations
|
1716
1764
|
|
1717
1765
|
Fix to with_abc automatic scopes
|
1718
1766
|
|
1719
1767
|
New automatic scopes 'include' and 'search', and improvements to
|
1720
1768
|
order_by scope
|
1721
|
-
|
1769
|
+
|
1722
1770
|
Scopes: fix to parameterised scopes on associations
|
1723
1771
|
|
1724
1772
|
Scopes: new apply_scopes method for models and has_many
|
1725
1773
|
associations
|
1726
|
-
|
1774
|
+
|
1727
1775
|
Pass a hash of scope-name => scope-arguments (single valur or
|
1728
1776
|
array), the result will be scoped accordingly, but only if the
|
1729
1777
|
first argument to the scope is not blank. It's designed to be
|
@@ -1734,90 +1782,90 @@ contain edited highlights of the commit log.
|
|
1734
1782
|
ajax actions
|
1735
1783
|
|
1736
1784
|
Hobo::ModelController -- Fix to flash message after update
|
1737
|
-
|
1785
|
+
|
1738
1786
|
Hobo::ModelController -- fix to redirection after submitting a
|
1739
1787
|
form
|
1740
1788
|
|
1741
1789
|
Hobo::ModelController -- cleaning up sorting and filtering
|
1742
|
-
|
1790
|
+
|
1743
1791
|
Hobo::ModelController -- make reorder one of the automatic
|
1744
1792
|
:write_only actions if the model has the position_column method
|
1745
1793
|
|
1746
1794
|
<with-fields> better error reporting
|
1747
1795
|
|
1748
1796
|
Hobo::ModelController -- adding automatic reorder action
|
1749
|
-
|
1797
|
+
|
1750
1798
|
Works with acts_as_list and scriptaculous drag and drop
|
1751
1799
|
re-ordering
|
1752
|
-
|
1800
|
+
|
1753
1801
|
Hobo::Model adding :managed => true option to has_many
|
1754
|
-
|
1802
|
+
|
1755
1803
|
Only valid with the :through option. Records of the joining
|
1756
1804
|
model will be created and destroyed as required when this record
|
1757
1805
|
is saved, in order to honour the contents of the association at
|
1758
1806
|
save time.
|
1759
|
-
|
1807
|
+
|
1760
1808
|
Hobo::Model -- adding .user_update
|
1761
1809
|
|
1762
1810
|
Hobo::Model -- fix to user_find
|
1763
|
-
|
1811
|
+
|
1764
1812
|
Hobo::HoboHelper -- #map_this (used by repeat) will set this_key
|
1765
1813
|
when iterating over a hash
|
1766
|
-
|
1814
|
+
|
1767
1815
|
DRYML: made this_field_reflection do a better job of figuring out
|
1768
1816
|
the current reflection
|
1769
|
-
|
1817
|
+
|
1770
1818
|
DRYML: adding this_key -- gives you the current key when
|
1771
1819
|
<repeat>ing on a hash
|
1772
|
-
|
1820
|
+
|
1773
1821
|
DRYML: Error message for invalid attributes on parameter tags,
|
1774
1822
|
e.g. <foo: if-'...'>
|
1775
|
-
|
1823
|
+
|
1776
1824
|
Hobo module - fix to permission checks on unexpected objects
|
1777
1825
|
|
1778
1826
|
Hobo module -- always return false for can_create? on has_many
|
1779
1827
|
associations that are not 'simple'
|
1780
|
-
|
1828
|
+
|
1781
1829
|
(i.e. they have conditions)
|
1782
|
-
|
1830
|
+
|
1783
1831
|
DRYML: Fix for replacing an overridden tag parameter
|
1784
|
-
|
1832
|
+
|
1785
1833
|
Rapid pages: new submit label on show page (add to collection)
|
1786
|
-
|
1834
|
+
|
1787
1835
|
Rapid pages: Add param to <show-page>
|
1788
|
-
|
1836
|
+
|
1789
1837
|
Rapid pages: by default, append app-name to every title, override
|
1790
1838
|
with full-title attribute (<base-page>)
|
1791
|
-
|
1839
|
+
|
1792
1840
|
Rapid pages: <show-page> -- update primary collection count when
|
1793
1841
|
an item is deleted
|
1794
|
-
|
1842
|
+
|
1795
1843
|
Rapid pages: fix on <show-page>
|
1796
|
-
|
1844
|
+
|
1797
1845
|
Rapid pages: make edit link on show-page check if the edit action
|
1798
1846
|
is linkable
|
1799
|
-
|
1847
|
+
|
1800
1848
|
Rapid forms: adding inputs (just textareas) for textile and
|
1801
1849
|
markdown
|
1802
|
-
|
1850
|
+
|
1803
1851
|
front_controller generator -- use <collection-preview> in
|
1804
1852
|
index.dryml
|
1805
|
-
|
1853
|
+
|
1806
1854
|
Rapid generics: adding support for <collection with='&MyModel'/>
|
1807
1855
|
|
1808
1856
|
Rapid tags: switching to <main-nav> tag, called from simple-layout
|
1809
|
-
|
1857
|
+
|
1810
1858
|
hobo_model_resource generator -- removing creating of (rails
|
1811
1859
|
style) resource route
|
1812
1860
|
|
1813
1861
|
Improvements to rapid pages
|
1814
|
-
|
1862
|
+
|
1815
1863
|
Allowing has_many associations in forms
|
1816
|
-
|
1864
|
+
|
1817
1865
|
Allowing the primary collection on a show page to be provided by
|
1818
1866
|
an instance variable (so that filtering/searching/pagination are
|
1819
1867
|
supported)
|
1820
|
-
|
1868
|
+
|
1821
1869
|
Rapid: Fix to use of <else> with <a>
|
1822
1870
|
|
1823
1871
|
Removed 'all' method from ScopedProxy - delegates to the model
|
@@ -1859,10 +1907,10 @@ contain edited highlights of the commit log.
|
|
1859
1907
|
|
1860
1908
|
Adding support for 'this' psuedo-field to <with-fields> and
|
1861
1909
|
<with-fields-names>
|
1862
|
-
|
1910
|
+
|
1863
1911
|
In particular, this makes it possible to include the object
|
1864
1912
|
itself in a table plus column
|
1865
|
-
|
1913
|
+
|
1866
1914
|
Adding a general <view> for ActiveRecord objects (just <a/>)
|
1867
1915
|
|
1868
1916
|
Allowing lookup of polymorphic tags to include ActiveRecord::Base
|
@@ -1896,7 +1944,7 @@ Core extentions
|
|
1896
1944
|
|
1897
1945
|
|
1898
1946
|
hobo generator
|
1899
|
-
|
1947
|
+
|
1900
1948
|
application.dryml now has a generated <app-name> tag
|
1901
1949
|
|
1902
1950
|
|
@@ -1994,7 +2042,7 @@ Hobo helpers
|
|
1994
2042
|
|
1995
2043
|
can_view? now utilises some simple cacheing
|
1996
2044
|
|
1997
|
-
signup_url now defaults to the
|
2045
|
+
signup_url now defaults to the
|
1998
2046
|
|
1999
2047
|
linkable? no longer accepts an array as parameter
|
2000
2048
|
|
@@ -2042,7 +2090,7 @@ DRYML
|
|
2042
2090
|
the begining and end of the default content.
|
2043
2091
|
|
2044
2092
|
Note these are all just syntactic sugar for things you can do
|
2045
|
-
already with <param-content/> and <title: replace> /
|
2093
|
+
already with <param-content/> and <title: replace> /
|
2046
2094
|
<title: restore/>
|
2047
2095
|
|
2048
2096
|
When changing the context with the ':' shorthand, now use dashes,
|
@@ -2053,7 +2101,7 @@ DRYML
|
|
2053
2101
|
|
2054
2102
|
Control attributes <my-tag if> is equivalent to <my-tag if="&this"/>
|
2055
2103
|
(remember these test for blank? / not blank?, not Ruby trueness)
|
2056
|
-
|
2104
|
+
|
2057
2105
|
this_type now never returns AssociationReflections,
|
2058
2106
|
this_field_reflection does
|
2059
2107
|
|
@@ -2069,7 +2117,7 @@ DRYML
|
|
2069
2117
|
|
2070
2118
|
Fix: using alias-of with a reserved word was broken
|
2071
2119
|
|
2072
|
-
|
2120
|
+
|
2073
2121
|
Hobo models
|
2074
2122
|
|
2075
2123
|
New method Model.named to find things by name,
|
@@ -2152,7 +2200,7 @@ Scopes
|
|
2152
2200
|
|
2153
2201
|
published
|
2154
2202
|
not_published
|
2155
|
-
|
2203
|
+
|
2156
2204
|
For the various date/time columns (these must end _at, e.g. pulished_at)
|
2157
2205
|
|
2158
2206
|
published_before(x)
|
@@ -2164,7 +2212,7 @@ Scopes
|
|
2164
2212
|
order_by(field_name) -- add an ORDER BY clause
|
2165
2213
|
limit(n) -- add a LIMIT clause
|
2166
2214
|
recent(n) -- orders by created_at and limits to n records
|
2167
|
-
|
2215
|
+
|
2168
2216
|
|
2169
2217
|
|
2170
2218
|
Hobo model controller
|
@@ -2198,7 +2246,7 @@ Hobo model controller
|
|
2198
2246
|
|
2199
2247
|
Support for scopes on declarative index actions:
|
2200
2248
|
|
2201
|
-
index_action :scope => :my_scope
|
2249
|
+
index_action :scope => :my_scope
|
2202
2250
|
|
2203
2251
|
New method filter_by for easily adding filtering to index actions, e.g.
|
2204
2252
|
|
@@ -2242,7 +2290,7 @@ Bundles
|
|
2242
2290
|
selective about which models and controllers they include.
|
2243
2291
|
|
2244
2292
|
Adding support for: belongs_to :foo, :polymorphic => :optional
|
2245
|
-
|
2293
|
+
|
2246
2294
|
Magic option names are now available inside the model and controller *instances*
|
2247
2295
|
|
2248
2296
|
Bundle options with defaults now work with nested option hashes
|
@@ -2276,7 +2324,7 @@ Rapid tags: general
|
|
2276
2324
|
collection was obtained
|
2277
2325
|
|
2278
2326
|
So, unless something has changed:
|
2279
|
-
|
2327
|
+
|
2280
2328
|
collection.origin.send(collection.origin_attribute) == collection
|
2281
2329
|
|
2282
2330
|
This API is made available on all association proxies, regular
|
@@ -2331,12 +2379,12 @@ Rapid tags: forms
|
|
2331
2379
|
<after-submit> -- can now do
|
2332
2380
|
|
2333
2381
|
<after-submit go-back> (requires session[:previous_uri])
|
2334
|
-
|
2382
|
+
|
2335
2383
|
and
|
2336
2384
|
|
2337
2385
|
<after-submit stay-here>
|
2338
2386
|
|
2339
|
-
|
2387
|
+
|
2340
2388
|
Rapid tags: navigation
|
2341
2389
|
|
2342
2390
|
Now assumes will_paginate style pagination instead of classic_pagination
|
@@ -2422,7 +2470,7 @@ DRYML
|
|
2422
2470
|
Rapid
|
2423
2471
|
|
2424
2472
|
New generic tag <collection>. Used to create type-specific
|
2425
|
-
renderings of collections. E.g. you can
|
2473
|
+
renderings of collections. E.g. you can
|
2426
2474
|
|
2427
2475
|
<def tag="collection" for="Comment">
|
2428
2476
|
|
@@ -2446,7 +2494,7 @@ Rapid pages
|
|
2446
2494
|
|
2447
2495
|
Plugins
|
2448
2496
|
|
2449
|
-
Changing from hobo_* naming convention to rapid_*
|
2497
|
+
Changing from hobo_* naming convention to rapid_*
|
2450
2498
|
|
2451
2499
|
|
2452
2500
|
|
@@ -2496,7 +2544,7 @@ Hobo models
|
|
2496
2544
|
(within the "fields do" block)
|
2497
2545
|
|
2498
2546
|
Can also write
|
2499
|
-
username :string, :login => true, :validate => false
|
2547
|
+
username :string, :login => true, :validate => false
|
2500
2548
|
to disable the automatic login validations (see hobo/lib/hobo/user.rb)
|
2501
2549
|
|
2502
2550
|
Plus two new ones for fields: :name => true and :description => true.
|
@@ -2571,7 +2619,7 @@ Hobo user controller
|
|
2571
2619
|
"Account not available" is now a separate page
|
2572
2620
|
(<account-disabled-page>) instead of just a flash message.
|
2573
2621
|
|
2574
|
-
Fixed occasional missing template bug
|
2622
|
+
Fixed occasional missing template bug
|
2575
2623
|
|
2576
2624
|
|
2577
2625
|
|
@@ -2612,7 +2660,7 @@ Hobo helpers
|
|
2612
2660
|
association, defaults to #this.
|
2613
2661
|
|
2614
2662
|
New helper #font_models. Returns a list of models that are
|
2615
|
-
candidates to appear on the default front page and main nav.
|
2663
|
+
candidates to appear on the default front page and main nav.
|
2616
2664
|
|
2617
2665
|
Changes to linkable? Subsite is now a named option (:subsite =>
|
2618
2666
|
"admin"), the target of the links defaults to #this and the action
|
@@ -2624,7 +2672,7 @@ Hobo routing
|
|
2624
2672
|
Now automatically updates routes without restarting the server in
|
2625
2673
|
dev mode (yay!)
|
2626
2674
|
|
2627
|
-
|
2675
|
+
|
2628
2676
|
Site search -- don't search for records that are not linkable
|
2629
2677
|
|
2630
2678
|
|
@@ -2729,7 +2777,7 @@ DRYML
|
|
2729
2777
|
New helper 'element'. Use in place of Rails' tag and content_tag
|
2730
2778
|
helper. It dasherizes attributes given as symbols.
|
2731
2779
|
|
2732
|
-
|
2780
|
+
|
2733
2781
|
Migration generator
|
2734
2782
|
|
2735
2783
|
Better support for STI. It no longer wants to generate tables for
|
@@ -2755,7 +2803,7 @@ Hobo Rapid
|
|
2755
2803
|
|
2756
2804
|
Upgraded to latest low_pro.js
|
2757
2805
|
|
2758
|
-
|
2806
|
+
|
2759
2807
|
New theme 'Clean'
|
2760
2808
|
|
2761
2809
|
New helper 'linkable?' can be given a record or class, and tells you
|
@@ -2786,7 +2834,7 @@ Hobo Rapid
|
|
2786
2834
|
<theme-stylesheet> now takes a 'name' attribute
|
2787
2835
|
|
2788
2836
|
<delete-button> takes a 'subsite' attribute
|
2789
|
-
|
2837
|
+
|
2790
2838
|
|
2791
2839
|
Rake tasks
|
2792
2840
|
|
@@ -2863,7 +2911,7 @@ Change to hobo command:
|
|
2863
2911
|
|
2864
2912
|
Migration generator
|
2865
2913
|
|
2866
|
-
Automatically ignores non-Hobo models (and associated tables)
|
2914
|
+
Automatically ignores non-Hobo models (and associated tables)
|
2867
2915
|
|
2868
2916
|
Hobo::Migrations.ignore_models is now deprecated.
|
2869
2917
|
|
@@ -2951,7 +2999,7 @@ DRYML
|
|
2951
2999
|
e.g. part_locals="@user". Note that inside the part this creates a
|
2952
3000
|
local variable "user". Don't user @user inside the part. It's just a
|
2953
3001
|
convenience to avoid the need to do <set user="&@user"/>
|
2954
|
-
|
3002
|
+
|
2955
3003
|
Fix: failure to accumulate CSS class names when merging attributes.
|
2956
3004
|
|
2957
3005
|
DRYML now gives the type returned by #field_type (when available)
|
@@ -3000,7 +3048,7 @@ Rich data types
|
|
3000
3048
|
|
3001
3049
|
Hobo models
|
3002
3050
|
|
3003
|
-
In fields declaration:
|
3051
|
+
In fields declaration:
|
3004
3052
|
|
3005
3053
|
Got rid of weird thing where providing :length meant the type
|
3006
3054
|
defaulted to :string
|
@@ -3011,7 +3059,7 @@ Hobo models
|
|
3011
3059
|
were in the model controller. e.g. Dates can be represented as
|
3012
3060
|
Hashes of month, day etc. Chronic will be used to parse dates if
|
3013
3061
|
available. Object references (e.g. belongs_to relationships) can be
|
3014
|
-
set with "@<typed-id>" as before.
|
3062
|
+
set with "@<typed-id>" as before.
|
3015
3063
|
|
3016
3064
|
"fields do" can optionally be used with a parameter if you don't
|
3017
3065
|
like the instance_eval hackery:
|
@@ -3061,7 +3109,7 @@ Helpers
|
|
3061
3109
|
|
3062
3110
|
#dom_id now returns "" when a dom_id cannot be generated (used to
|
3063
3111
|
raise an error)
|
3064
|
-
|
3112
|
+
|
3065
3113
|
#map_this now works with ranges (used by DRYML's repeat)
|
3066
3114
|
|
3067
3115
|
#current_page_url returns request.request_uri without the query string
|
@@ -3105,7 +3153,7 @@ Model controller
|
|
3105
3153
|
to have them paginated.
|
3106
3154
|
|
3107
3155
|
New declaration 'auto_actions' allows you to select which actions
|
3108
|
-
Hobo provides for you automatically.
|
3156
|
+
Hobo provides for you automatically.
|
3109
3157
|
|
3110
3158
|
# White list
|
3111
3159
|
auto_actions :show, :index
|
@@ -3148,7 +3196,7 @@ Model controller
|
|
3148
3196
|
response.
|
3149
3197
|
|
3150
3198
|
<NotFoundPage> used as the default 404 response.
|
3151
|
-
|
3199
|
+
|
3152
3200
|
|
3153
3201
|
User controller
|
3154
3202
|
|
@@ -3222,7 +3270,7 @@ Tag library: Rapid forms
|
|
3222
3270
|
|
3223
3271
|
New <input> for enum-strings - a select menu.
|
3224
3272
|
|
3225
|
-
New <input> for big decimals
|
3273
|
+
New <input> for big decimals
|
3226
3274
|
|
3227
3275
|
<remote_method_button> now supports non ajax remote method calls
|
3228
3276
|
(when no update="..." is given)
|
@@ -3280,7 +3328,7 @@ namespaced). This will dump the current database into test
|
|
3280
3328
|
fixtures. The nice part is that it won't overwrite symbolic names
|
3281
3329
|
you've given to rows in your fixtures, so you can round-trip with it:
|
3282
3330
|
rake db:fixtures:load, run up the app and create some new data, rake
|
3283
|
-
dump_fixtures.
|
3331
|
+
dump_fixtures.
|
3284
3332
|
|
3285
3333
|
|
3286
3334
|
Migration generator
|
@@ -3304,7 +3352,7 @@ Hobo users
|
|
3304
3352
|
|
3305
3353
|
If the model name is "User", the routes generated are simply:
|
3306
3354
|
|
3307
|
-
/login
|
3355
|
+
/login
|
3308
3356
|
/logout
|
3309
3357
|
/signup
|
3310
3358
|
|
@@ -3377,14 +3425,14 @@ Core extensions
|
|
3377
3425
|
|
3378
3426
|
string_or_nil._?.length
|
3379
3427
|
|
3380
|
-
is equivalent to
|
3428
|
+
is equivalent to
|
3381
3429
|
|
3382
3430
|
string_or_nil && string_or_nil.length
|
3383
3431
|
|
3384
3432
|
Hobo extensions to HashWithIndifferentAccess fixed to always return
|
3385
3433
|
indifferent hashes.
|
3386
3434
|
|
3387
|
-
|
3435
|
+
|
3388
3436
|
Hobo controller
|
3389
3437
|
|
3390
3438
|
Fix to #render_tags (problem with part contexts javascript)
|
@@ -3522,8 +3570,8 @@ Hobo Rapid
|
|
3522
3570
|
Fix to new link in <ShowCollectionPage>
|
3523
3571
|
|
3524
3572
|
<image> tag removed from default ajax progress.
|
3525
|
-
|
3526
|
-
|
3573
|
+
|
3574
|
+
|
3527
3575
|
|
3528
3576
|
Dryml
|
3529
3577
|
|
@@ -3564,7 +3612,7 @@ Hobo helpers
|
|
3564
3612
|
Multiple user models
|
3565
3613
|
|
3566
3614
|
Hobo now supports multiple user models, with independent sign-up /
|
3567
|
-
log-in/out for each.
|
3615
|
+
log-in/out for each.
|
3568
3616
|
|
3569
3617
|
The controller needs to declare hobo_user_controller instead of
|
3570
3618
|
hobo_model_controller (it still has all the hobo_model_controller
|
@@ -3652,7 +3700,7 @@ Migration generator
|
|
3652
3700
|
|
3653
3701
|
Hobo::Migrations.ignore_tables
|
3654
3702
|
|
3655
|
-
To ignore just models, assign an array of the class names to
|
3703
|
+
To ignore just models, assign an array of the class names to
|
3656
3704
|
|
3657
3705
|
Hobo::Migrations.ignore_models
|
3658
3706
|
|
@@ -3716,7 +3764,7 @@ DRYML
|
|
3716
3764
|
|
3717
3765
|
<def tag="card" for="User"/>...</def>
|
3718
3766
|
<def tag="card" for="BlogPost">...</def>
|
3719
|
-
|
3767
|
+
|
3720
3768
|
call with <card for_type/>
|
3721
3769
|
|
3722
3770
|
The actual tag called will be selected according to the type of
|
@@ -4013,7 +4061,7 @@ DRYML
|
|
4013
4061
|
|
4014
4062
|
<def tag="a">
|
4015
4063
|
<def tag="panel">...</def>
|
4016
|
-
|
4064
|
+
|
4017
4065
|
... Any call to panel in here, or in the tagbody of the call to
|
4018
4066
|
<a> will get the local definition. Note that local tags are full
|
4019
4067
|
closures and have access to state from the containing tag...
|
@@ -4034,7 +4082,7 @@ DRYML
|
|
4034
4082
|
Think of these as the dryml equivalent of the suffix 'if' and 'unless' in Ruby.
|
4035
4083
|
|
4036
4084
|
If you give the attributes a string, it is treated test for a
|
4037
|
-
non-blank field, e.g. if="address" is like
|
4085
|
+
non-blank field, e.g. if="address" is like
|
4038
4086
|
<if q="&!this.address.blank?">
|
4039
4087
|
|
4040
4088
|
You can use <else> after tags with these attributes on them.
|
@@ -4106,7 +4154,7 @@ repository.
|
|
4106
4154
|
|
4107
4155
|
DRYML Core Tags
|
4108
4156
|
|
4109
|
-
<dynamic_tag/> renamed to <call_tag/>
|
4157
|
+
<dynamic_tag/> renamed to <call_tag/>
|
4110
4158
|
|
4111
4159
|
<display_name/> displays "(not available)" if the context is nil
|
4112
4160
|
|
@@ -4124,10 +4172,10 @@ DRYML Core Tags
|
|
4124
4172
|
DRYML Helpers
|
4125
4173
|
|
4126
4174
|
#param_name_for will strip a trailing '?' if there is one.
|
4127
|
-
|
4175
|
+
|
4128
4176
|
|
4129
4177
|
Hobo Rapid Tags
|
4130
|
-
|
4178
|
+
|
4131
4179
|
<boolean_field> now also generates a hidden tag with the same name
|
4132
4180
|
and value '0' like the rails helper. This fixes HTMLs broken idea of
|
4133
4181
|
how to handle checkboxes (you get a 0 value if the checkbox is not
|
@@ -4274,7 +4322,7 @@ Hobo Rapid
|
|
4274
4322
|
inner-tag 'rapid_javascripts'. e.g. you can do
|
4275
4323
|
|
4276
4324
|
<page rapid_javascripts.tiny_mce="#true">
|
4277
|
-
|
4325
|
+
|
4278
4326
|
to enable TinyMCE support.
|
4279
4327
|
|
4280
4328
|
Removed helper current_user_in?
|
@@ -4294,7 +4342,7 @@ Hobo Rapid
|
|
4294
4342
|
object form now has a css class added: either the model class name, or
|
4295
4343
|
"new_<class>"
|
4296
4344
|
|
4297
|
-
New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
|
4345
|
+
New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
|
4298
4346
|
|
4299
4347
|
|
4300
4348
|
Model Extensions
|
@@ -4358,7 +4406,7 @@ Model controllers
|
|
4358
4406
|
Removed customisation hooks, create_response,
|
4359
4407
|
invalid_create_response, update_response etc.
|
4360
4408
|
|
4361
|
-
New mechanism for customising actions.
|
4409
|
+
New mechanism for customising actions.
|
4362
4410
|
|
4363
4411
|
def create
|
4364
4412
|
hobo_create ...customisation args...
|
@@ -4395,7 +4443,7 @@ Permission system
|
|
4395
4443
|
can_edit? now works better with boolean fields
|
4396
4444
|
|
4397
4445
|
can_call_<method>? renamed to <method>_callable_by?
|
4398
|
-
|
4446
|
+
|
4399
4447
|
|
4400
4448
|
DRYML
|
4401
4449
|
|
@@ -4561,7 +4609,7 @@ Hobo::Controller
|
|
4561
4609
|
|
4562
4610
|
hobo_ajax_reponse will use @this if no page context is passed
|
4563
4611
|
|
4564
|
-
|
4612
|
+
|
4565
4613
|
Module defined tags
|
4566
4614
|
|
4567
4615
|
Can provide a predicate as a block, e.g. to have a different nav bar onced logged in.
|
@@ -4576,7 +4624,7 @@ Module defined tags
|
|
4576
4624
|
|
4577
4625
|
DRYML
|
4578
4626
|
|
4579
|
-
Changes to taglib cache system.
|
4627
|
+
Changes to taglib cache system.
|
4580
4628
|
|
4581
4629
|
A list of known HTML tags is defined in lib/hobo/static_tags. These
|
4582
4630
|
are available as an array by calling Hobo.static_tags. Any tags
|
@@ -4680,7 +4728,7 @@ Hobo Rapid
|
|
4680
4728
|
|
4681
4729
|
has_many_editor
|
4682
4730
|
belongs_to_editor
|
4683
|
-
|
4731
|
+
|
4684
4732
|
string_editor
|
4685
4733
|
textarea_editor
|
4686
4734
|
password_editor
|
@@ -4713,7 +4761,7 @@ New feature - Composite models
|
|
4713
4761
|
|
4714
4762
|
Experimental new feature - mapping tags
|
4715
4763
|
|
4716
|
-
New feature - Predicate dispatch modules
|
4764
|
+
New feature - Predicate dispatch modules
|
4717
4765
|
|
4718
4766
|
|
4719
4767
|
=== Release 0.4.3 ===
|
@@ -5098,7 +5146,7 @@ Model Extensions (hobo_model)
|
|
5098
5146
|
|
5099
5147
|
class User < ActiveRecord::Base
|
5100
5148
|
set_default_order "name"
|
5101
|
-
end
|
5149
|
+
end
|
5102
5150
|
|
5103
5151
|
To use: User.find(:all, :order => :default). Default order is used
|
5104
5152
|
by the hobo_model_controller
|