mdd 1.0.3 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/lib/generators/.DS_Store +0 -0
  2. data/lib/generators/mdd/sandbox/USAGE +9 -0
  3. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/icons/lupa.png +0 -0
  4. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  5. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  6. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_flat_10_000000_40x100.png +0 -0
  7. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  8. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  9. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  10. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  11. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  12. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  13. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_222222_256x240.png +0 -0
  14. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_228ef1_256x240.png +0 -0
  15. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png +0 -0
  16. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffd27a_256x240.png +0 -0
  17. data/lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffffff_256x240.png +0 -0
  18. data/lib/generators/mdd/sandbox/templates/app/assets/javascripts/mdwa/template/ajaxloader.js +1 -1
  19. data/lib/generators/mdd/sandbox/templates/app/assets/javascripts/mdwa/template/all_pages.js +8 -2
  20. data/lib/generators/mdd/sandbox/templates/app/assets/stylesheets/jquery/jquery-ui-theme1.css +17 -17
  21. data/lib/generators/mdd/sandbox/templates/app/assets/stylesheets/jquery/jquery.fancybox.css +2 -2
  22. data/lib/generators/mdd/sandbox/templates/app/assets/stylesheets/mdwa/template/backend.css.erb +39 -3
  23. data/lib/generators/mdd/sandbox/templates/app/assets/stylesheets/mdwa/template/backend_base.css.erb +2 -0
  24. data/lib/generators/mdd/sandbox/templates/app/assets/stylesheets/mdwa/template/template.css.erb +5 -0
  25. data/lib/generators/mdd/sandbox/templates/app/views/a/administrators/_administrators.html.erb +2 -2
  26. data/lib/generators/mdd/sandbox/templates/app/views/a/administrators/edit.html.erb +8 -6
  27. data/lib/generators/mdd/sandbox/templates/app/views/a/administrators/index.html.erb +9 -7
  28. data/lib/generators/mdd/sandbox/templates/app/views/a/administrators/new.html.erb +8 -6
  29. data/lib/generators/mdd/sandbox/templates/config/initializers/devise.rb +2 -2
  30. data/lib/generators/mdd/sandbox/templates/config/locales/mdwa.en.yml +6 -0
  31. data/lib/generators/mdd/sandbox/templates/db/seeds/site.rb +1 -1
  32. data/lib/generators/mdd/scaffold/USAGE +9 -0
  33. data/lib/generators/mdd/scaffold/scaffold_generator.rb +115 -0
  34. data/lib/generators/mdd/scaffold/templates/.DS_Store +0 -0
  35. data/lib/generators/mdd/scaffold/templates/controllers/ajax_controller.rb +68 -0
  36. data/lib/generators/mdd/scaffold/templates/controllers/controller.rb +67 -0
  37. data/lib/generators/mdd/scaffold/templates/db_migrate/migrate.rb +18 -0
  38. data/lib/generators/mdd/scaffold/templates/models/model.rb +9 -0
  39. data/lib/generators/mdd/scaffold/templates/models/module.rb +2 -0
  40. data/lib/generators/mdd/scaffold/templates/views/_form.html.erb +36 -0
  41. data/lib/generators/mdd/scaffold/templates/views/_list.html.erb +20 -0
  42. data/lib/generators/mdd/scaffold/templates/views/create.js.erb +2 -0
  43. data/lib/generators/mdd/scaffold/templates/views/destroy.js.erb +1 -0
  44. data/lib/generators/mdd/scaffold/templates/views/edit.html.erb +9 -0
  45. data/lib/generators/mdd/scaffold/templates/views/index.html.erb +16 -0
  46. data/lib/generators/mdd/scaffold/templates/views/index.js.erb +1 -0
  47. data/lib/generators/mdd/scaffold/templates/views/new.html.erb +9 -0
  48. data/lib/generators/mdd/scaffold/templates/views/update.js.erb +2 -0
  49. data/lib/mdd.rb +4 -0
  50. data/lib/mdd/generators/model_attribute.rb +67 -0
  51. data/lib/mdd/version.rb +1 -1
  52. metadata +36 -2
Binary file
@@ -0,0 +1,9 @@
1
+ Description:
2
+ This generator is similar to Rails scaffold.
3
+ It adds some tools to minimize the customization process.
4
+ For example, HTML code is within id elements to ease the CSS part.
5
+ All list have pagination with will_paginate gem.
6
+ Referenced models also have their relations configured in models and views.
7
+
8
+ Example:
9
+ rails generate mdd:scaffold Model name:string initial_date:date category_id:category:name:belongs
@@ -2,7 +2,7 @@ $(function() {
2
2
 
3
3
  $('body').append("<div id='ajax-loader'></div>");
4
4
  $('#ajax-loader').css( {
5
- 'background': 'url(mdwa/ajax-loader.gif) no-repeat scroll 0 0 transparent',
5
+ 'background': 'url(/assets/mdwa/ajax-loader.gif) no-repeat scroll 0 0 transparent',
6
6
  'display': 'none',
7
7
  'height': '42px',
8
8
  'left': '50%',
@@ -1,19 +1,25 @@
1
1
  $(function() {
2
2
 
3
- // todo link toggle tem um atributo rel que identifica o elemento que vai ser feito display
3
+ // all .toggle links must have a rel attribute to identify what element will toggle
4
4
  $('a.toggle').live('click', function() {
5
5
  $($(this).attr('rel')).toggle();
6
6
  });
7
7
 
8
- // tudo com a classe lightbox, abre o modalbox
8
+ // open modalbox
9
9
  $('.lightbox').fancybox({
10
10
  closeClick: false,
11
11
  autoSize: true
12
12
  });
13
13
 
14
+ // notices fadeout
14
15
  $('a#system_notice_close, #system_notice').live('click', function() {
15
16
  $('#system_notice').fadeOut();
16
17
  });
18
+
19
+ // ajax forms cancel button closes modal window
20
+ $('.mdwa_ajax a.cancel').live('click', function() {
21
+ $.fancybox.close(true);
22
+ });
17
23
 
18
24
  });
19
25
 
@@ -59,26 +59,26 @@
59
59
  .ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
60
60
  .ui-widget .ui-widget { font-size: 1em; }
61
61
  .ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
62
- .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
62
+ .ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(/assets/mdwa/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
63
63
  .ui-widget-content a { color: #333333; }
64
- .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
64
+ .ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(/assets/mdwa/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
65
65
  .ui-widget-header a { color: #ffffff; }
66
66
 
67
67
  /* Interaction states
68
68
  ----------------------------------*/
69
- .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
69
+ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(/assets/mdwa/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
70
70
  .ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
71
- .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
71
+ .ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(/assets/mdwa/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
72
72
  .ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
73
- .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
73
+ .ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(/assets/mdwa/jquery-ui/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
74
74
  .ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
75
75
  .ui-widget :active { outline: none; }
76
76
 
77
77
  /* Interaction Cues
78
78
  ----------------------------------*/
79
- .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
79
+ .ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(/assets/mdwa/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
80
80
  .ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
81
- .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
81
+ .ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(/assets/mdwa/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
82
82
  .ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
83
83
  .ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
84
84
  .ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
@@ -89,14 +89,14 @@
89
89
  ----------------------------------*/
90
90
 
91
91
  /* states and images */
92
- .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
93
- .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
94
- .ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
95
- .ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
96
- .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
97
- .ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
98
- .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
99
- .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
92
+ .ui-icon { width: 16px; height: 16px; background-image: url(/assets/mdwa/jquery-ui/ui-icons_222222_256x240.png); }
93
+ .ui-widget-content .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_222222_256x240.png); }
94
+ .ui-widget-header .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_ffffff_256x240.png); }
95
+ .ui-state-default .ui-icon { background-image: url(/assets/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png); }
96
+ .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png); }
97
+ .ui-state-active .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png); }
98
+ .ui-state-highlight .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_228ef1_256x240.png); }
99
+ .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(/assets/mdwa/jquery-ui/ui-icons_ffd27a_256x240.png); }
100
100
 
101
101
  /* positioning */
102
102
  .ui-icon-carat-1-n { background-position: 0 0; }
@@ -291,8 +291,8 @@
291
291
  .ui-corner-all { -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; }
292
292
 
293
293
  /* Overlays */
294
- .ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
295
- .ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
294
+ .ui-widget-overlay { background: #666666 url(/assets/mdwa/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
295
+ .ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(/assets/mdwa/jquery-ui/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*
296
296
  * jQuery UI Resizable 1.8.11
297
297
  *
298
298
  * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
@@ -84,14 +84,14 @@
84
84
  margin-left: -21px;
85
85
  width: 42px;
86
86
  height: 42px;
87
- background: url('../images/fancybox_loading.gif');
87
+ background: url('/assets/mdwa/fancybox_loading.gif');
88
88
  opacity: 0.9;
89
89
  cursor: pointer;
90
90
  z-index: 1010;
91
91
  }
92
92
 
93
93
  .fancybox-close, .fancybox-prev span, .fancybox-next span {
94
- background-image: url('../images/fancybox_sprite.png');
94
+ background-image: url('/assets/mdwa/fancybox_sprite.png');
95
95
  }
96
96
 
97
97
  .fancybox-close {
@@ -68,11 +68,20 @@ div.page_header_right_tab {
68
68
  float: right;
69
69
  position: relative;
70
70
  right: 0;
71
- top: -14px;
71
+ top: -20px;
72
72
  width: auto;
73
73
  }
74
74
  div.page_header_right_tab a {
75
- background: url( <%= asset_path 'mdwa/bt_g.png' %> );
75
+
76
+ background: #EEEEEE; /* Old browsers */
77
+ background: -moz-linear-gradient(top, #FFFFFF 0%, #EEEEEE 100%); /* FF3.6+ */
78
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFFFFF), color-stop(100%,#EEEEEE)); /* Chrome,Safari4+ */
79
+ background: -webkit-linear-gradient(top, #FFFFFF 0%,#EEEEEE 100%); /* Chrome10+,Safari5.1+ */
80
+ background: -o-linear-gradient(top, #FFFFFF 0%,#EEEEEE 100%); /* Opera 11.10+ */
81
+ background: -ms-linear-gradient(top, #FFFFFF 0%,#EEEEEE 100%); /* IE10+ */
82
+ background: linear-gradient(top, #FFFFFF 0%,#EEEEEE 100%); /* W3C */
83
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFF', endColorstr='#EEEEEE',GradientType=0 ); /* IE6-9 */
84
+
76
85
  padding: 13px;
77
86
  border-radius: 5px 5px 0 0;
78
87
  border-top: 1px solid #ccc;
@@ -80,7 +89,34 @@ div.page_header_right_tab a {
80
89
  border-right: 1px solid #ccc;
81
90
  }
82
91
  div.page_header_right_tab a:hover {
83
- background: url( <%= asset_path 'mdwa/bt_g_inv.png' %>);
92
+ background: #eeeeee; /* Old browsers */
93
+ background: -moz-linear-gradient(top, #eeeeee 0%, #ffffff 100%); /* FF3.6+ */
94
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eeeeee), color-stop(100%,#ffffff)); /* Chrome,Safari4+ */
95
+ background: -webkit-linear-gradient(top, #eeeeee 0%,#ffffff 100%); /* Chrome10+,Safari5.1+ */
96
+ background: -o-linear-gradient(top, #eeeeee 0%,#ffffff 100%); /* Opera 11.10+ */
97
+ background: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 100%); /* IE10+ */
98
+ background: linear-gradient(top, #eeeeee 0%,#ffffff 100%); /* W3C */
99
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
100
+ }
101
+
102
+ div.tab_header {
103
+ display: inline-block;
104
+ float: right;
105
+ position: relative;
106
+ right: 0;
107
+ top: -14px;
108
+ width: auto;
109
+ }
110
+ div.tab_header a {
111
+ background: url(../images/bt_g.png);
112
+ padding: 13px;
113
+ border-radius: 5px 5px 0 0;
114
+ border-top: 1px solid #ccc;
115
+ border-left: 1px solid #ccc;
116
+ border-right: 1px solid #ccc;
117
+ }
118
+ div.tab_header a:hover {
119
+ background: url(../images/bt_g_inv.png);
84
120
  }
85
121
 
86
122
  /* Content */
@@ -24,6 +24,7 @@ div.field label {
24
24
 
25
25
  div.field input[type="text"],
26
26
  div.field input[type="email"],
27
+ div.field input[type="number"],
27
28
  div.field input[type="password"] {
28
29
  border: 1px solid #888;
29
30
  padding: 4px;
@@ -33,6 +34,7 @@ div.field input[type="password"] {
33
34
 
34
35
  div.field input[type="text"]:hover,
35
36
  div.field input[type="email"]:hover,
37
+ div.field input[type="number"]:hover,
36
38
  div.field input[type="password"]:hover {
37
39
  border: 1px solid #666;
38
40
  box-shadow: 0 0 2px #999;
@@ -266,4 +266,9 @@ a#system_notice_close {
266
266
  width: 20px;
267
267
  z-index: 11;
268
268
  cursor:pointer;
269
+ }
270
+
271
+ /* Modalbox */
272
+ .fancybox-inner {
273
+ background: #fff;
269
274
  }
@@ -3,14 +3,14 @@
3
3
  <th><%= t 'administrators.index_id' %></th>
4
4
  <th><%= t 'administrators.index_name' %></th>
5
5
  <th><%= t 'administrators.index_email' %></th>
6
- <th><%= t 'administrators.index_remove' %></th>
6
+ <th><%= t 'system.index_remove' %></th>
7
7
  </thead>
8
8
  <% @administrators.each do |administrator| %>
9
9
  <tr class="<%= cycle 'odd_line', 'even_line' %>" >
10
10
  <td align="center"><%= link_to administrator.id, edit_a_administrator_path(administrator) %></td>
11
11
  <td><%= link_to administrator.name, edit_a_administrator_path(administrator) %></td>
12
12
  <td><%= administrator.email %></td>
13
- <td><%= link_to t('administrators.index_remove_label'), [:a, administrator], :method => :delete, :confirm => t('administrators.index_confirm_deletion') %></td>
13
+ <td><%= link_to t('system.index_remove_label'), [:a, administrator], :method => :delete, :confirm => t('system.index_confirm_deletion') %></td>
14
14
  </tr>
15
15
  <% end %>
16
16
  </table>
@@ -1,7 +1,9 @@
1
- <div class="page_header">
2
- <h1><%= t('administrators.edit_title', :name => @administrator.email) %></h1>
3
- </div>
1
+ <div id="administrators_edit" class="mdwa_edit">
2
+ <div class="page_header">
3
+ <h1><%= t('administrators.edit_title', :name => @administrator.email) %></h1>
4
+ </div>
4
5
 
5
- <div class="inside">
6
- <%= render 'form' %>
7
- </div>
6
+ <div class="inside">
7
+ <%= render 'form' %>
8
+ </div>
9
+ </div>
@@ -1,9 +1,11 @@
1
- <div class="page_header">
2
- <h1><%= t 'administrators.index_title' %></h1>
3
- </div>
1
+ <div id="administrators_index" class="mdwa_index">
2
+ <div class="page_header">
3
+ <h1><%= t 'administrators.index_title' %></h1>
4
+ </div>
4
5
 
5
- <div class="inside">
6
- <div id="administrators-index">
7
- <%= render 'administrators' %>
6
+ <div class="inside">
7
+ <div id="administrators_list">
8
+ <%= render 'administrators' %>
9
+ </div>
8
10
  </div>
9
- </div>
11
+ </div>
@@ -1,7 +1,9 @@
1
- <div class="page_header">
2
- <h1><%= t 'administrators.new_title' %></h1>
3
- </div>
1
+ <div id="administrators_new" class="mdwa_new">
2
+ <div class="page_header">
3
+ <h1><%= t 'administrators.new_title' %></h1>
4
+ </div>
4
5
 
5
- <div class="inside">
6
- <%= render 'form' %>
7
- </div>
6
+ <div class="inside">
7
+ <%= render 'form' %>
8
+ </div>
9
+ </div>
@@ -10,7 +10,7 @@ Devise.setup do |config|
10
10
  # config.mailer = "Devise::Mailer"
11
11
 
12
12
  # Automatically apply schema changes in tableless databases
13
- config.apply_schema = false
13
+ # config.apply_schema = false
14
14
 
15
15
  # ==> ORM configuration
16
16
  # Load and configure the ORM. Supports :active_record (default) and
@@ -113,7 +113,7 @@ Devise.setup do |config|
113
113
 
114
114
  # If true, uses the password salt as remember token. This should be turned
115
115
  # to false if you are not using database authenticatable.
116
- config.use_salt_as_remember_token = true
116
+ # config.use_salt_as_remember_token = true
117
117
 
118
118
  # Options to be passed to the created cookie. For instance, you can set
119
119
  # :secure => true in order to force SSL only cookies.
@@ -11,6 +11,12 @@ en:
11
11
  logged_info_logout: "(Logout)"
12
12
  logged_info_edit_account: "My Account"
13
13
  cancel_button: "Cancel"
14
+ index_id: "ID"
15
+ index_remove: "Remove"
16
+ index_remove_label: "Remove"
17
+ index_confirm_deletion: "Are you sure?"
18
+ add_by_ajax: "Add new %{name}"
19
+ edit_by_ajax: "Edit %{name}"
14
20
 
15
21
  administrators:
16
22
  edit_title: "Editing account: %{name}"
@@ -1,5 +1,5 @@
1
1
  # -*- encoding : utf-8 -*-
2
- if Administrator.count == 0
2
+ if Administrator.count.zero?
3
3
  Permission.create( :name => "SuperAdmin" ) if Permission.find_by_name("SuperAdmin").nil?
4
4
  Administrator.create :name => "Administrator", :email => 'admin@admin.com', :password => 'admin123', :password_confirmation => 'admin123'
5
5
  end
@@ -0,0 +1,9 @@
1
+ Description:
2
+ This generator is similar to Rails scaffold.
3
+ It adds some tools to minimize the customization process.
4
+ For example, HTML code is within id elements to ease the CSS part.
5
+ All list have pagination with will_paginate gem.
6
+ Referenced models also have their relations configured in models and views.
7
+
8
+ Example:
9
+ rails generate mdd:scaffold Model name:string initial_date:date category_id:category:name:belongs
@@ -0,0 +1,115 @@
1
+ require 'rails/generators/migration'
2
+
3
+ module Mdd
4
+
5
+ class ScaffoldGenerator < Rails::Generators::Base
6
+ include Rails::Generators::Migration
7
+
8
+ source_root File.expand_path('../templates', __FILE__)
9
+
10
+ attr_accessor :namespace, :model_name, :model_attributes
11
+
12
+ argument :scaffold_name, :type => :string, :banner => "[namespace]/Model"
13
+ argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
14
+
15
+ class_option :skip_migration, :desc => 'Skips the generation of a new migration', :type => :boolean
16
+ class_option :ajax, :desc => 'Generates modal forms and AJAX submits', :type => :boolean
17
+
18
+ def initialize(*args, &block)
19
+
20
+ super
21
+
22
+ # separates model and namespace
23
+ @namespace = ''
24
+ @namespace = scaffold_name.split('/').first.camelize if scaffold_name.split('/').count > 1
25
+ @model_name = scaffold_name.split('/').last.singularize.camelize
26
+
27
+ # model_name is not valid
28
+ print_usage unless @model_name.underscore =~ /^[a-z][a-z0-9_\/]+$/
29
+
30
+ # sets the model attributes
31
+ @model_attributes = []
32
+ attributes.each do |attribute|
33
+ @model_attributes << Generators::ModelAttribute.new( attribute )
34
+ end
35
+ end
36
+
37
+ def controller
38
+ @inherit_controller = 'A::BackendController' if @namespace.underscore == 'a'
39
+ template "controllers/#{'ajax_' if options.ajax}controller.rb", "app/controllers/#{@namespace}/#{plural_name}_controller.rb"
40
+ end
41
+
42
+ def model
43
+ template 'models/module.rb', "app/models/#{@namespace.underscore}.rb" unless @namespace.blank?
44
+ template 'models/model.rb', "app/models/#{@namespace.underscore}/#{singular_name}.rb"
45
+ end
46
+
47
+ def migration
48
+ unless options.skip_migration
49
+ migration_template 'db_migrate/migrate.rb', "db/migrate/create_#{plural_name}.rb"
50
+ end
51
+ end
52
+
53
+ def views
54
+ template 'views/edit.html.erb', "app/views/#{@namespace.underscore}/#{plural_name}/edit.html.erb"
55
+ template 'views/index.html.erb', "app/views/#{@namespace.underscore}/#{plural_name}/index.html.erb"
56
+ template 'views/index.js.erb', "app/views/#{@namespace.underscore}/#{plural_name}/index.js.erb"
57
+ template 'views/new.html.erb', "app/views/#{@namespace.underscore}/#{plural_name}/new.html.erb"
58
+ template 'views/_form.html.erb', "app/views/#{@namespace.underscore}/#{plural_name}/_form.html.erb"
59
+ template 'views/_list.html.erb', "app/views/#{@namespace.underscore}/#{plural_name}/_#{plural_name}.html.erb"
60
+
61
+ if options.ajax
62
+ template 'views/create.js.erb', "app/views/#{@namespace.underscore}/#{plural_name}/create.js.erb"
63
+ template 'views/destroy.js.erb', "app/views/#{@namespace.underscore}/#{plural_name}/destroy.js.erb"
64
+ template 'views/update.js.erb', "app/views/#{@namespace.underscore}/#{plural_name}/update.js.erb"
65
+ end
66
+ end
67
+
68
+ def routes
69
+ route "resources :#{plural_name}" unless namespace?
70
+ route "namespace :#{namespace.underscore} do resources :#{plural_name} end" if namespace?
71
+ end
72
+
73
+ def run_rake_db_migrate
74
+ rake('db:migrate') if yes? 'Run rake db:migrate?'
75
+ end
76
+
77
+ private
78
+
79
+ def singular_name
80
+ @model_name.underscore
81
+ end
82
+
83
+ def plural_name
84
+ @model_name.underscore.pluralize
85
+ end
86
+
87
+ def namespace_model_class
88
+ "#{namespace_scope}#{@model_name}"
89
+ end
90
+
91
+ def namespace_scope
92
+ return "#{@namespace}::" unless @namespace.blank?
93
+ return ''
94
+ end
95
+
96
+ def namespace_object
97
+ namespace_model_class.gsub('::', '_').underscore
98
+ end
99
+
100
+ def namespace?
101
+ !namespace.blank?
102
+ end
103
+
104
+ # Sets Rails migration timestamp
105
+ def self.next_migration_number(dirname) #:nodoc:
106
+ if ActiveRecord::Base.timestamped_migrations
107
+ Time.now.utc.strftime("%Y%m%d%H%M%S")
108
+ else
109
+ "%.3d" % (current_migration_number(dirname) + 1)
110
+ end
111
+ end
112
+
113
+ end
114
+
115
+ end
@@ -0,0 +1,68 @@
1
+ class <%= namespace_scope %><%= plural_name.camelize %>Controller < <%= @inherit_controller || 'ApplicationController' %>
2
+
3
+ def index
4
+ @<%= plural_name %> = <%= namespace_model_class %>.paginate :page => params[:page]
5
+
6
+ respond_to do |format|
7
+ format.html
8
+ format.js
9
+ end
10
+ end
11
+
12
+
13
+ def show
14
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
15
+ render :layout => false
16
+ end
17
+
18
+ def new
19
+ @<%= singular_name %> = <%= namespace_model_class %>.new
20
+ render :layout => false
21
+ end
22
+
23
+ def edit
24
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
25
+ render :layout => false
26
+ end
27
+
28
+ def create
29
+ @<%= singular_name %> = <%= namespace_model_class %>.new(params[:<%= namespace_object %>])
30
+ @<%= singular_name %>.save
31
+ # loads all <%= plural_name %> to display in the list
32
+ load_list
33
+
34
+ respond_to do |format|
35
+ format.js
36
+ end
37
+ end
38
+
39
+ def update
40
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
41
+ @<%= singular_name %>.update_attributes(params[:<%= namespace_object %>])
42
+
43
+ # loads all <%= plural_name %> to display in the list
44
+ load_list
45
+
46
+ respond_to do |format|
47
+ format.js
48
+ end
49
+ end
50
+
51
+ def destroy
52
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
53
+ @<%= singular_name %>.destroy
54
+
55
+ # loads all <%= plural_name %> to display in the list
56
+ load_list
57
+
58
+ respond_to do |format|
59
+ format.js
60
+ end
61
+ end
62
+
63
+ private
64
+ def load_list
65
+ @<%= plural_name %> = <%= namespace_model_class %>.paginate :page => 1
66
+ end
67
+
68
+ end
@@ -0,0 +1,67 @@
1
+ class <%= namespace_scope %><%= plural_name.camelize %>Controller < <%= @inherit_controller || 'ApplicationController' %>
2
+
3
+ def index
4
+ @<%= plural_name %> = <%= namespace_model_class %>.paginate :page => params[:page]
5
+
6
+ respond_to do |format|
7
+ format.html
8
+ format.js
9
+ end
10
+ end
11
+
12
+
13
+ def show
14
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
15
+
16
+ respond_to do |format|
17
+ format.html
18
+ end
19
+ end
20
+
21
+ def new
22
+ @<%= singular_name %> = <%= namespace_model_class %>.new
23
+
24
+ respond_to do |format|
25
+ format.html
26
+ end
27
+ end
28
+
29
+ def edit
30
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
31
+ end
32
+
33
+ def create
34
+ @<%= singular_name %> = <%= namespace_model_class %>.new(params[:<%= namespace_object %>])
35
+
36
+ respond_to do |format|
37
+ if @<%= singular_name %>.save
38
+ format.html { redirect_to <%= namespace_object.pluralize %>_path, notice: t('<%= plural_name %>.create_success') }
39
+ else
40
+ format.html { render action: "new" }
41
+ end
42
+ end
43
+ end
44
+
45
+ def update
46
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
47
+
48
+ respond_to do |format|
49
+ if @<%= singular_name %>.update_attributes(params[:<%= namespace_object %>])
50
+ format.html { redirect_to <%= namespace_object.pluralize %>_path, notice: t('<%= plural_name %>.update_success') }
51
+ else
52
+ format.html { render action: "edit" }
53
+ end
54
+ end
55
+ end
56
+
57
+ def destroy
58
+ @<%= singular_name %> = <%= namespace_model_class %>.find(params[:id])
59
+
60
+ @<%= singular_name %>.destroy
61
+
62
+ respond_to do |format|
63
+ format.html { redirect_to <%= namespace_object.pluralize %>_path, notice: t('<%= plural_name %>.destroy_success') }
64
+ end
65
+ end
66
+
67
+ end
@@ -0,0 +1,18 @@
1
+ class Create<%= plural_name.camelize %> < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ create_table :<%= plural_name %> do |t|
5
+ <%- @model_attributes.each do |attr| %>
6
+ t.<%= attr.migration_field %> :<%= attr.name %>
7
+ <%- end %>
8
+ <%- indexed_attributes = @model_attributes.select {|m| m.references?} %> <%- if indexed_attributes.count > 0 %>
9
+ add_index <%= indexed_attributes.collect {|m| ":" + m.name }.join(', ') %>
10
+ <%- end %>
11
+ end
12
+ end
13
+
14
+ def self.down
15
+ drop_table :<%= plural_name %>
16
+ end
17
+
18
+ end
@@ -0,0 +1,9 @@
1
+ class <%= namespace_model_class %> < ActiveRecord::Base
2
+
3
+ attr_accessible <%= @model_attributes.reject {|m| m.references? }.collect {|m| ":" + m.name }.join(', ') %>
4
+
5
+ <%- @model_attributes.select {|m| m.references? }.each do |attr| %>
6
+ belongs_to :<%= attr.type %>
7
+ <%- end %>
8
+
9
+ end
@@ -0,0 +1,2 @@
1
+ module <%= @namespace.camelize %>
2
+ end
@@ -0,0 +1,36 @@
1
+ <%%= form_for(@<%= singular_name %><%= ', :remote => true, :class => :mdwa_ajax' if options.ajax %>) do |f| %>
2
+
3
+ <%- unless options.ajax %>
4
+ <%% if @<%= singular_name %>.errors.any? %>
5
+ <div id="error_explanation">
6
+ <h2><%%= pluralize(@<%= singular_name %>.errors.count, t('system.error')) %> :</h2>
7
+
8
+ <ul>
9
+ <%% @<%= singular_name %>.errors.full_messages.each do |msg| %>
10
+ <li><%%= msg %></li>
11
+ <%% end %>
12
+ </ul>
13
+ </div>
14
+ <%% end %>
15
+ <%- end %>
16
+
17
+ <div class="yui3-g">
18
+ <div class="yui3-u">
19
+ <%- @model_attributes.each do |attr| %>
20
+ <div class="field">
21
+ <%%= f.label :<%= attr.name %> %>
22
+ <%= attr.form_field %>
23
+ </div>
24
+ <%- end %>
25
+ </div>
26
+ </div>
27
+
28
+ <div class="actions">
29
+ <%- if !options.ajax %>
30
+ <%%= link_to t('system.cancel_button'), <%= namespace_object.pluralize %>_path, :class => :cancel %> <%- else %>
31
+ <%%= link_to t('system.cancel_button'), '#', :class => :cancel %> <%- end %>
32
+
33
+ <%%= f.submit :class => :button %>
34
+ </div>
35
+
36
+ <%% end %>
@@ -0,0 +1,20 @@
1
+ <table class="list">
2
+ <thead>
3
+ <th><%%= t 'system.index_id' %></th>
4
+ <%- @model_attributes.each do |attr| %>
5
+ <th><%%= t '<%= plural_name %>.index_<%= attr.name %>' %></th>
6
+ <%- end %>
7
+ <th><%%= t 'system.index_remove' %></th>
8
+ </thead>
9
+ <%% @<%= plural_name %>.each do |<%= singular_name %>| %>
10
+ <tr class="<%%= cycle 'odd_line', 'even_line' %>" >
11
+ <td><%%= link_to <%= singular_name %>.id, edit_<%= namespace_object %>_path(<%= singular_name %>) <%= ", :class => 'lightbox various fancybox.ajax'" if options.ajax %> %></td>
12
+ <%- @model_attributes.each do |attr| %>
13
+ <td><%%= <%= singular_name %>.<%= attr.name %> %></td>
14
+ <%- end %>
15
+ <td><%%= link_to t('system.index_remove_label'), <%= singular_name %>, :method => :delete, <%= ':remote => true,' if options.ajax %> :confirm => t('system.index_confirm_deletion') %></td>
16
+ </tr>
17
+ <%% end %>
18
+ </table>
19
+
20
+ <%%= pagination_footer @<%= plural_name %> %>
@@ -0,0 +1,2 @@
1
+ $.fancybox.close(true);
2
+ $("#<%= plural_name %>_list").html("<%%= escape_javascript( render :partial => '<%= plural_name %>' )%>");
@@ -0,0 +1 @@
1
+ $("#<%= plural_name %>_list").html("<%%= escape_javascript( render :partial => '<%= plural_name %>' )%>");
@@ -0,0 +1,9 @@
1
+ <div id="<%= plural_name %>_edit" class="mdwa_edit">
2
+ <div class="page_header">
3
+ <h1><%%= t('<%= plural_name %>.edit_title') %></h1>
4
+ </div>
5
+
6
+ <div class="inside">
7
+ <%%= render 'form' %>
8
+ </div>
9
+ </div>
@@ -0,0 +1,16 @@
1
+ <div id="<%= plural_name %>_index" class="mdwa_index">
2
+ <div class="page_header">
3
+ <h1><%%= t '<%= plural_name %>.index_title' %></h1>
4
+ <%- if options.ajax %>
5
+ <div class="page_header_right_tab">
6
+ <%%= link_to t('system.add_by_ajax', :name => '<%= singular_name.humanize %>'), new_<%= namespace_object%>_path, :class => 'lightbox various fancybox.ajax' %>
7
+ </div>
8
+ <%- end %>
9
+ </div>
10
+
11
+ <div class="inside">
12
+ <div id="<%= plural_name %>_list">
13
+ <%%= render '<%= plural_name %>' %>
14
+ </div>
15
+ </div>
16
+ </div>
@@ -0,0 +1 @@
1
+ $("#<%= plural_name %>_list").html("<%%= escape_javascript( render :partial => "<%= plural_name %>" )%>");
@@ -0,0 +1,9 @@
1
+ <div id="<%= plural_name %>_new" class="mdwa_new">
2
+ <div class="page_header">
3
+ <h1><%%= t('<%= plural_name %>.new_title') %></h1>
4
+ </div>
5
+
6
+ <div class="inside">
7
+ <%%= render 'form' %>
8
+ </div>
9
+ </div>
@@ -0,0 +1,2 @@
1
+ $.fancybox.close(true);
2
+ $("#<%= plural_name %>_list").html("<%%= escape_javascript( render :partial => '<%= plural_name %>' )%>");
data/lib/mdd.rb CHANGED
@@ -5,6 +5,10 @@ module Mdd
5
5
  config.autoload_paths << File.expand_path("../app", __FILE__)
6
6
  end
7
7
 
8
+ module Generators
9
+ autoload :ModelAttribute, 'mdd/generators/model_attribute'
10
+ end
11
+
8
12
  module Layout
9
13
  autoload :Base, 'mdd/layout/base'
10
14
  autoload :Helper, 'mdd/layout/helper'
@@ -0,0 +1,67 @@
1
+ module Mdd
2
+ module Generators
3
+
4
+ class ModelAttribute
5
+ attr_accessor :name, :type, :reference, :reference_type
6
+
7
+ STATIC_TYPES = [:boolean, :date, :datetime, :decimal, :float, :integer, :string, :text, :time, :timestamp, :file]
8
+
9
+ def initialize( arg )
10
+
11
+ # sets the variables by the string
12
+ split = arg.split(':')
13
+ self.type = split[1]
14
+ self.name = split[0]
15
+ self.reference = split[2]
16
+ self.reference_type = split[3]
17
+
18
+ end
19
+
20
+ def references?
21
+ !STATIC_TYPES.include?(self.type.to_sym)
22
+ end
23
+
24
+ def name=(value)
25
+ if references? and !value.end_with?('_id')
26
+ @name = "#{value}_id"
27
+ else
28
+ @name = value
29
+ end
30
+ end
31
+
32
+ def migration_field
33
+ @migration_field ||= case self.type.to_sym
34
+ when :string, :file then 'string'
35
+ when :boolean then 'boolean'
36
+ when :date then 'date'
37
+ when :datetime then 'datetime'
38
+ when :decimal, :float then 'decimal'
39
+ when :text then 'text'
40
+ when :time then 'time'
41
+ when :timestamp then 'timestamp'
42
+ else
43
+ 'integer'
44
+ end
45
+ end
46
+
47
+ def form_field
48
+ @form_field ||= case self.type.to_sym
49
+ when :integer then 'number_field'
50
+ when :float, :decimal then 'text_field'
51
+ when :file then 'file_field'
52
+ when :time then 'time_select'
53
+ when :datetime, :timestamp then 'datetime_select'
54
+ when :date then 'date_select'
55
+ when :text then 'text_area'
56
+ when :boolean then 'check_box'
57
+ else
58
+ 'text_field'
59
+ end
60
+
61
+ "<%= f.#{@form_field} :#{self.name} %>"
62
+ end
63
+
64
+ end
65
+
66
+ end
67
+ end
data/lib/mdd/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mdd
2
- VERSION = "1.0.3"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mdd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-15 00:00:00.000000000 Z
12
+ date: 2012-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -124,6 +124,8 @@ files:
124
124
  - app/views/template/mdwa/_autocomplete_tag.html.erb
125
125
  - app/views/template/mdwa/_login_text.html.erb
126
126
  - app/views/template/mdwa/_notice.html.erb
127
+ - lib/generators/.DS_Store
128
+ - lib/generators/mdd/sandbox/USAGE
127
129
  - lib/generators/mdd/sandbox/sandbox_generator.rb
128
130
  - lib/generators/mdd/sandbox/templates/app/assets/images/.DS_Store
129
131
  - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/ajax-loader.gif
@@ -143,6 +145,20 @@ files:
143
145
  - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/icons/edit.png
144
146
  - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/icons/lupa.png
145
147
  - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/icons/remove-icon.png
148
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_18_b81900_40x40.png
149
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_diagonals-thick_20_666666_40x40.png
150
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_flat_10_000000_40x100.png
151
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_f6f6f6_1x400.png
152
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_100_fdf5ce_1x400.png
153
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_glass_65_ffffff_1x400.png
154
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_gloss-wave_35_f6a828_500x100.png
155
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_100_eeeeee_1x100.png
156
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-bg_highlight-soft_75_ffe45c_1x100.png
157
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_222222_256x240.png
158
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_228ef1_256x240.png
159
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ef8c08_256x240.png
160
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffd27a_256x240.png
161
+ - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/jquery-ui/ui-icons_ffffff_256x240.png
146
162
  - lib/generators/mdd/sandbox/templates/app/assets/images/mdwa/notice_close.png
147
163
  - lib/generators/mdd/sandbox/templates/app/assets/javascripts/.DS_Store
148
164
  - lib/generators/mdd/sandbox/templates/app/assets/javascripts/jquery/jquery-ui.js
@@ -223,8 +239,26 @@ files:
223
239
  - lib/generators/mdd/sandbox/templates/db/seeds.rb
224
240
  - lib/generators/mdd/sandbox/templates/db/seeds/.DS_Store
225
241
  - lib/generators/mdd/sandbox/templates/db/seeds/site.rb
242
+ - lib/generators/mdd/scaffold/USAGE
243
+ - lib/generators/mdd/scaffold/scaffold_generator.rb
244
+ - lib/generators/mdd/scaffold/templates/.DS_Store
245
+ - lib/generators/mdd/scaffold/templates/controllers/ajax_controller.rb
246
+ - lib/generators/mdd/scaffold/templates/controllers/controller.rb
247
+ - lib/generators/mdd/scaffold/templates/db_migrate/migrate.rb
248
+ - lib/generators/mdd/scaffold/templates/models/model.rb
249
+ - lib/generators/mdd/scaffold/templates/models/module.rb
250
+ - lib/generators/mdd/scaffold/templates/views/_form.html.erb
251
+ - lib/generators/mdd/scaffold/templates/views/_list.html.erb
252
+ - lib/generators/mdd/scaffold/templates/views/create.js.erb
253
+ - lib/generators/mdd/scaffold/templates/views/destroy.js.erb
254
+ - lib/generators/mdd/scaffold/templates/views/edit.html.erb
255
+ - lib/generators/mdd/scaffold/templates/views/index.html.erb
256
+ - lib/generators/mdd/scaffold/templates/views/index.js.erb
257
+ - lib/generators/mdd/scaffold/templates/views/new.html.erb
258
+ - lib/generators/mdd/scaffold/templates/views/update.js.erb
226
259
  - lib/mdd.rb
227
260
  - lib/mdd/.DS_Store
261
+ - lib/mdd/generators/model_attribute.rb
228
262
  - lib/mdd/layout/base.rb
229
263
  - lib/mdd/layout/helper.rb
230
264
  - lib/mdd/version.rb