hobo 1.3.0.pre19 → 1.3.0.pre20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/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
|