openbill 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (703) hide show
  1. data/LICENSE +20 -20
  2. data/README +63 -63
  3. data/test/functional/products_controller_test.rb +8 -8
  4. data/test/functional/sessions_controller_test.rb +8 -8
  5. data/test/functional/settings_controller_test.rb +8 -8
  6. data/test/functional/users_controller_test.rb +8 -0
  7. data/test/unit/user_mailer_test.rb +7 -7
  8. data/test/unit/user_test.rb +7 -7
  9. metadata +9 -730
  10. data/.actionScriptProperties +0 -26
  11. data/.flexProperties +0 -2
  12. data/.gitignore +0 -4
  13. data/.loadpath +0 -7
  14. data/.project +0 -24
  15. data/CONTRIBUTORS +0 -6
  16. data/INSTALL +0 -15
  17. data/Rakefile +0 -51
  18. data/VERSION +0 -1
  19. data/app/controllers/application.rb +0 -49
  20. data/app/controllers/carts_controller.rb +0 -226
  21. data/app/controllers/products_controller.rb +0 -19
  22. data/app/controllers/sessions_controller.rb +0 -39
  23. data/app/controllers/settings_controller.rb +0 -15
  24. data/app/helpers/application_helper.rb +0 -3
  25. data/app/helpers/carts_helper.rb +0 -5
  26. data/app/helpers/products_helper.rb +0 -2
  27. data/app/helpers/sessions_helper.rb +0 -2
  28. data/app/helpers/settings_helper.rb +0 -2
  29. data/app/models/account.rb +0 -16
  30. data/app/models/billingcycle.rb +0 -7
  31. data/app/models/currency.rb +0 -5
  32. data/app/models/emailtemplate.rb +0 -5
  33. data/app/models/invoice.rb +0 -13
  34. data/app/models/invoicedetail.rb +0 -8
  35. data/app/models/option.rb +0 -5
  36. data/app/models/order.rb +0 -7
  37. data/app/models/orderdetail.rb +0 -11
  38. data/app/models/paymentgateway.rb +0 -5
  39. data/app/models/product.rb +0 -10
  40. data/app/models/registrar.rb +0 -7
  41. data/app/models/registrarlog.rb +0 -6
  42. data/app/models/role.rb +0 -7
  43. data/app/models/server.rb +0 -5
  44. data/app/models/serverlog.rb +0 -6
  45. data/app/models/setting.rb +0 -6
  46. data/app/models/tld.rb +0 -9
  47. data/app/models/transaction.rb +0 -8
  48. data/app/models/user.rb +0 -68
  49. data/app/models/user_mailer.rb +0 -24
  50. data/app/models/user_observer.rb +0 -11
  51. data/app/models/userfieldname.rb +0 -8
  52. data/app/models/userfieldvalue.rb +0 -6
  53. data/app/views/carts/_cart_details.html.erb +0 -36
  54. data/app/views/carts/_check_domain_availability.html.erb +0 -7
  55. data/app/views/carts/_loginbox.html.erb +0 -33
  56. data/app/views/carts/_new_domain_available.html.erb +0 -14
  57. data/app/views/carts/_new_domain_not_available.html.erb +0 -10
  58. data/app/views/carts/_orderinfobox.html.erb +0 -1
  59. data/app/views/carts/_product_details.html.erb +0 -43
  60. data/app/views/carts/_products_list.html.erb +0 -22
  61. data/app/views/carts/_signupbox.html.erb +0 -51
  62. data/app/views/carts/checkout.html.erb +0 -22
  63. data/app/views/carts/customer.html.erb +0 -26
  64. data/app/views/carts/order.html.erb +0 -17
  65. data/app/views/layouts/default.html.erb +0 -43
  66. data/app/views/user_mailer/activation.erb +0 -3
  67. data/app/views/user_mailer/signup_notification.erb +0 -8
  68. data/config/boot.rb +0 -109
  69. data/config/database.yml +0 -20
  70. data/config/environment.rb +0 -76
  71. data/config/environments/development.rb +0 -17
  72. data/config/environments/production.rb +0 -24
  73. data/config/environments/test.rb +0 -22
  74. data/config/initializers/inflections.rb +0 -10
  75. data/config/initializers/mime_types.rb +0 -5
  76. data/config/initializers/new_rails_defaults.rb +0 -17
  77. data/config/initializers/site_keys.rb +0 -38
  78. data/config/locales/en.yml +0 -2
  79. data/config/routes.rb +0 -31
  80. data/db/migrate/20090429095737_create_settings.rb +0 -28
  81. data/db/migrate/20090429102507_create_users.rb +0 -25
  82. data/db/migrate/20090429113405_create_accounts.rb +0 -12
  83. data/db/migrate/20090430091300_create_roles.rb +0 -14
  84. data/db/migrate/20090430103415_create_products.rb +0 -24
  85. data/db/migrate/20090509144706_create_sessions.rb +0 -16
  86. data/db/migrate/20090518070457_create_billingcycles.rb +0 -15
  87. data/db/migrate/20090518105551_create_orders.rb +0 -13
  88. data/db/migrate/20090518105611_create_invoices.rb +0 -17
  89. data/db/migrate/20090518105912_create_orderdetails.rb +0 -24
  90. data/db/migrate/20090518105931_create_invoicedetails.rb +0 -14
  91. data/db/migrate/20090519051441_create_servers.rb +0 -14
  92. data/db/migrate/20090519051509_create_registrars.rb +0 -13
  93. data/db/migrate/20090519051536_create_paymentgateways.rb +0 -13
  94. data/db/migrate/20090519052025_create_tlds.rb +0 -15
  95. data/db/migrate/20090519070149_create_transactions.rb +0 -17
  96. data/db/migrate/20090519070225_create_registrarlogs.rb +0 -16
  97. data/db/migrate/20090519070248_create_serverlogs.rb +0 -16
  98. data/db/migrate/20090519071741_create_emailtemplates.rb +0 -18
  99. data/db/migrate/20090519083539_create_currencies.rb +0 -18
  100. data/db/migrate/20090522102336_create_userfieldnames.rb +0 -16
  101. data/db/migrate/20090522102401_create_userfieldvalues.rb +0 -14
  102. data/db/migrate/20090526092119_create_options.rb +0 -14
  103. data/html-template/AC_OETags.js +0 -292
  104. data/html-template/history/history.css +0 -6
  105. data/html-template/history/history.js +0 -662
  106. data/html-template/history/historyFrame.html +0 -29
  107. data/html-template/index.template.html +0 -121
  108. data/html-template/playerProductInstall.swf +0 -0
  109. data/lib/authenticated_system.rb +0 -189
  110. data/lib/authenticated_test_helper.rb +0 -11
  111. data/lib/tasks/empty +0 -0
  112. data/openbill.gemspec +0 -788
  113. data/pkg/openbill-0.0.0.gem +0 -0
  114. data/pkg/openbill-0.1.3.gem +0 -0
  115. data/pkg/openbill-0.1.4.gem +0 -0
  116. data/pkg/openbill-0.1.5.gem +0 -0
  117. data/public/404.html +0 -30
  118. data/public/422.html +0 -30
  119. data/public/500.html +0 -33
  120. data/public/AC_OETags.js +0 -292
  121. data/public/admin.html +0 -121
  122. data/public/admin.swf +0 -0
  123. data/public/assets/LoadingUndefinedSkin.swf +0 -0
  124. data/public/assets/UndefinedPersonalSkinLoad.swf +0 -0
  125. data/public/assets/blanc.png +0 -0
  126. data/public/assets/botones/Boton_dis.png +0 -0
  127. data/public/assets/botones/PopUpButton.png +0 -0
  128. data/public/assets/botones/PopUpButton1.png +0 -0
  129. data/public/assets/botones/PopUpButton2.png +0 -0
  130. data/public/assets/botones/PopUpButton_0.png +0 -0
  131. data/public/assets/botones/PopUpButton_1.png +0 -0
  132. data/public/assets/botones/PopUpButton_2.png +0 -0
  133. data/public/assets/botones/PopUpButton_dis.png +0 -0
  134. data/public/assets/botones/PopUpMenuButton.png +0 -0
  135. data/public/assets/botones/PopUpMenuButton1.png +0 -0
  136. data/public/assets/botones/PopUpMenuButton2.png +0 -0
  137. data/public/assets/botones/PopUpMenuButton_0.png +0 -0
  138. data/public/assets/botones/PopUpMenuButton_1.png +0 -0
  139. data/public/assets/botones/PopUpMenuButton_2.png +0 -0
  140. data/public/assets/botones/PopUpMenuButton_dis.png +0 -0
  141. data/public/assets/botones/Scroll_barra.png +0 -0
  142. data/public/assets/botones/Scroll_barra1.png +0 -0
  143. data/public/assets/botones/Scroll_barra2.png +0 -0
  144. data/public/assets/botones/Scroll_down.png +0 -0
  145. data/public/assets/botones/Scroll_down1.png +0 -0
  146. data/public/assets/botones/Scroll_fondo.png +0 -0
  147. data/public/assets/botones/Scroll_icon.png +0 -0
  148. data/public/assets/botones/Scroll_up.png +0 -0
  149. data/public/assets/botones/Scroll_up1.png +0 -0
  150. data/public/assets/botones/TabNavigator.png +0 -0
  151. data/public/assets/botones/TabNavigator1.png +0 -0
  152. data/public/assets/botones/TabNavigator2.png +0 -0
  153. data/public/assets/botones/TabNavigator3.png +0 -0
  154. data/public/assets/botones/Thumbs.db +0 -0
  155. data/public/assets/botones/accordion_backround.png +0 -0
  156. data/public/assets/botones/accordion_barra.png +0 -0
  157. data/public/assets/botones/accordion_barra1.png +0 -0
  158. data/public/assets/botones/accordion_barra2.png +0 -0
  159. data/public/assets/botones/accordion_barra3.png +0 -0
  160. data/public/assets/botones/adelante.png +0 -0
  161. data/public/assets/botones/adelante1.png +0 -0
  162. data/public/assets/botones/adelante2.png +0 -0
  163. data/public/assets/botones/adelante_dis.png +0 -0
  164. data/public/assets/botones/atras.png +0 -0
  165. data/public/assets/botones/atras1.png +0 -0
  166. data/public/assets/botones/atras2.png +0 -0
  167. data/public/assets/botones/atras_dis.png +0 -0
  168. data/public/assets/botones/barra.png +0 -0
  169. data/public/assets/botones/barra_dis.png +0 -0
  170. data/public/assets/botones/barra_v.png +0 -0
  171. data/public/assets/botones/boton.jpg +0 -0
  172. data/public/assets/botones/boton.png +0 -0
  173. data/public/assets/botones/boton1.png +0 -0
  174. data/public/assets/botones/boton2.png +0 -0
  175. data/public/assets/botones/boton_classic.png +0 -0
  176. data/public/assets/botones/boton_classic1.png +0 -0
  177. data/public/assets/botones/boton_classic2.png +0 -0
  178. data/public/assets/botones/bullet.png +0 -0
  179. data/public/assets/botones/bullet1.png +0 -0
  180. data/public/assets/botones/bullet_V_dis.png +0 -0
  181. data/public/assets/botones/bullet_dis.png +0 -0
  182. data/public/assets/botones/bullet_v.png +0 -0
  183. data/public/assets/botones/bullet_v1.png +0 -0
  184. data/public/assets/botones/chekOff.png +0 -0
  185. data/public/assets/botones/chekOff1.png +0 -0
  186. data/public/assets/botones/chekOff2.png +0 -0
  187. data/public/assets/botones/chekOn.png +0 -0
  188. data/public/assets/botones/chekOn1.png +0 -0
  189. data/public/assets/botones/chekOn2.png +0 -0
  190. data/public/assets/botones/chek_dis.png +0 -0
  191. data/public/assets/botones/close.png +0 -0
  192. data/public/assets/botones/close1.png +0 -0
  193. data/public/assets/botones/close2.png +0 -0
  194. data/public/assets/botones/close_folder.png +0 -0
  195. data/public/assets/botones/colorPicker.png +0 -0
  196. data/public/assets/botones/colorPicker1.png +0 -0
  197. data/public/assets/botones/colorPicker2.png +0 -0
  198. data/public/assets/botones/colorPicker_blanco.png +0 -0
  199. data/public/assets/botones/colorPicker_blanco1.png +0 -0
  200. data/public/assets/botones/colorPicker_blanco2.png +0 -0
  201. data/public/assets/botones/colorPicker_dis.png +0 -0
  202. data/public/assets/botones/combo.png +0 -0
  203. data/public/assets/botones/combo1.png +0 -0
  204. data/public/assets/botones/combo2.png +0 -0
  205. data/public/assets/botones/combo_dis.png +0 -0
  206. data/public/assets/botones/dataIcon.png +0 -0
  207. data/public/assets/botones/dataIcon1.png +0 -0
  208. data/public/assets/botones/dataIcon2.png +0 -0
  209. data/public/assets/botones/dataIcon_dis.png +0 -0
  210. data/public/assets/botones/dataText.png +0 -0
  211. data/public/assets/botones/folder_close.png +0 -0
  212. data/public/assets/botones/folder_open.png +0 -0
  213. data/public/assets/botones/hoja.png +0 -0
  214. data/public/assets/botones/icon_down.png +0 -0
  215. data/public/assets/botones/icon_up.png +0 -0
  216. data/public/assets/botones/last_toggle.png +0 -0
  217. data/public/assets/botones/last_toggle1.png +0 -0
  218. data/public/assets/botones/last_toggle2.png +0 -0
  219. data/public/assets/botones/last_toggle3.png +0 -0
  220. data/public/assets/botones/numericStepper_Down.png +0 -0
  221. data/public/assets/botones/numericStepper_Down1.png +0 -0
  222. data/public/assets/botones/numericStepper_Down2.png +0 -0
  223. data/public/assets/botones/numericStepper_Down_dis.png +0 -0
  224. data/public/assets/botones/numericStepper_Text.png +0 -0
  225. data/public/assets/botones/numericStepper_Up.png +0 -0
  226. data/public/assets/botones/numericStepper_Up1.png +0 -0
  227. data/public/assets/botones/numericStepper_Up2.png +0 -0
  228. data/public/assets/botones/numericStepper_Up_dis.png +0 -0
  229. data/public/assets/botones/open_folder.png +0 -0
  230. data/public/assets/botones/prev_toggle.png +0 -0
  231. data/public/assets/botones/prev_toggle1.png +0 -0
  232. data/public/assets/botones/prev_toggle2.png +0 -0
  233. data/public/assets/botones/prev_toggle3.png +0 -0
  234. data/public/assets/botones/progress.png +0 -0
  235. data/public/assets/botones/progress_barra.png +0 -0
  236. data/public/assets/botones/progress_charning.png +0 -0
  237. data/public/assets/botones/progress_dis.png +0 -0
  238. data/public/assets/botones/radio.png +0 -0
  239. data/public/assets/botones/radio1.png +0 -0
  240. data/public/assets/botones/radio2.png +0 -0
  241. data/public/assets/botones/radio3.png +0 -0
  242. data/public/assets/botones/radio4.png +0 -0
  243. data/public/assets/botones/radio_dis.png +0 -0
  244. data/public/assets/botones/seleccionData.png +0 -0
  245. data/public/assets/botones/seleccionDataSelected.png +0 -0
  246. data/public/assets/botones/seleccionDataUp.png +0 -0
  247. data/public/assets/botones/textArea.png +0 -0
  248. data/public/assets/botones/textInput.png +0 -0
  249. data/public/assets/botones/textInput_error.png +0 -0
  250. data/public/assets/botones/textInput_no.png +0 -0
  251. data/public/assets/botones/toggle_medio.png +0 -0
  252. data/public/assets/botones/toggle_medio1.png +0 -0
  253. data/public/assets/botones/toggle_medio2.png +0 -0
  254. data/public/assets/botones/toggle_medio3.png +0 -0
  255. data/public/assets/botones/toolTip.png +0 -0
  256. data/public/assets/general/Fondo4.jpg +0 -0
  257. data/public/assets/general/Fondo5.jpg +0 -0
  258. data/public/assets/general/MenuItem.png +0 -0
  259. data/public/assets/general/MenuItem1.png +0 -0
  260. data/public/assets/general/Thumbs.db +0 -0
  261. data/public/assets/general/alert_fondo.png +0 -0
  262. data/public/assets/general/alert_fondo1.png +0 -0
  263. data/public/assets/general/alert_titulo.png +0 -0
  264. data/public/assets/general/alert_titulo1.png +0 -0
  265. data/public/assets/general/blanc.png +0 -0
  266. data/public/assets/general/fondo.jpg +0 -0
  267. data/public/assets/general/fondo1.jpg +0 -0
  268. data/public/assets/general/fondo2.jpg +0 -0
  269. data/public/assets/general/fondo3.jpg +0 -0
  270. data/public/assets/general/fondo_list.png +0 -0
  271. data/public/assets/general/menu.png +0 -0
  272. data/public/assets/general/panel.png +0 -0
  273. data/public/assets/general/separator.png +0 -0
  274. data/public/assets/general/titleWindow.png +0 -0
  275. data/public/assets/general/titleWindow1.png +0 -0
  276. data/public/assets/icons/Thumbs.db +0 -0
  277. data/public/assets/icons/ai.jpg +0 -0
  278. data/public/assets/icons/air.jpg +0 -0
  279. data/public/assets/icons/fl.jpg +0 -0
  280. data/public/assets/icons/fw.jpg +0 -0
  281. data/public/assets/icons/fx.jpg +0 -0
  282. data/public/assets/icons/ps.jpg +0 -0
  283. data/public/assets/scroll/Thumbs.db +0 -0
  284. data/public/assets/scroll/barra.png +0 -0
  285. data/public/assets/scroll/barra1.png +0 -0
  286. data/public/assets/scroll/barra2.png +0 -0
  287. data/public/assets/scroll/barra_1.png +0 -0
  288. data/public/assets/scroll/barra_2.png +0 -0
  289. data/public/assets/scroll/down.png +0 -0
  290. data/public/assets/scroll/down1.png +0 -0
  291. data/public/assets/scroll/down_1.png +0 -0
  292. data/public/assets/scroll/down_2.png +0 -0
  293. data/public/assets/scroll/fondo.png +0 -0
  294. data/public/assets/scroll/fondo_1.png +0 -0
  295. data/public/assets/scroll/fondo_2.png +0 -0
  296. data/public/assets/scroll/up.png +0 -0
  297. data/public/assets/scroll/up1.png +0 -0
  298. data/public/assets/scroll/up_1.png +0 -0
  299. data/public/assets/scroll/up_2.png +0 -0
  300. data/public/assets/xml/listData.xml +0 -21
  301. data/public/dispatch.cgi +0 -10
  302. data/public/dispatch.fcgi +0 -24
  303. data/public/dispatch.rb +0 -10
  304. data/public/favicon.ico +0 -0
  305. data/public/framework_3.0.0.477.swf +0 -0
  306. data/public/framework_3.0.0.477.swz +0 -0
  307. data/public/history/history.css +0 -6
  308. data/public/history/history.js +0 -662
  309. data/public/history/historyFrame.html +0 -29
  310. data/public/images/avatar.png +0 -0
  311. data/public/images/logo.png +0 -0
  312. data/public/images/rails.png +0 -0
  313. data/public/images/spinner.gif +0 -0
  314. data/public/index.html +0 -1
  315. data/public/javascripts/application.js +0 -2
  316. data/public/javascripts/controls.js +0 -963
  317. data/public/javascripts/dragdrop.js +0 -973
  318. data/public/javascripts/effects.js +0 -1128
  319. data/public/javascripts/jquery-1.3.min.js +0 -19
  320. data/public/javascripts/jquery.localscroll.js +0 -104
  321. data/public/javascripts/jquery.scrollTo.js +0 -150
  322. data/public/javascripts/prototype.js +0 -4320
  323. data/public/playerProductInstall.swf +0 -0
  324. data/public/robots.txt +0 -5
  325. data/public/stylesheets/base.css +0 -336
  326. data/public/stylesheets/darkroom.css +0 -1374
  327. data/public/stylesheets/darkroom.swf +0 -0
  328. data/public/stylesheets/default.css +0 -1034
  329. data/public/stylesheets/myriad.swf +0 -0
  330. data/public/stylesheets/scaffold.css +0 -54
  331. data/public/stylesheets/themes/bec-green/style.css +0 -290
  332. data/public/stylesheets/themes/bec/style.css +0 -301
  333. data/public/stylesheets/themes/blue/style.css +0 -280
  334. data/public/stylesheets/themes/default/style.css +0 -267
  335. data/public/stylesheets/themes/djime-cerulean/style.css +0 -298
  336. data/public/stylesheets/themes/kathleene/style.css +0 -272
  337. data/public/stylesheets/themes/openbill/style.css +0 -272
  338. data/public/stylesheets/themes/orange/style.css +0 -263
  339. data/public/stylesheets/themes/reidb-greenish/style.css +0 -301
  340. data/rdoc/empty +0 -0
  341. data/rdoc/logo.max +0 -0
  342. data/rdoc/logo.png +0 -0
  343. data/script/about +0 -4
  344. data/script/console +0 -3
  345. data/script/dbconsole +0 -3
  346. data/script/destroy +0 -3
  347. data/script/generate +0 -3
  348. data/script/performance/benchmarker +0 -3
  349. data/script/performance/profiler +0 -3
  350. data/script/performance/request +0 -3
  351. data/script/plugin +0 -3
  352. data/script/process/inspector +0 -3
  353. data/script/process/reaper +0 -3
  354. data/script/process/spawner +0 -3
  355. data/script/runner +0 -3
  356. data/script/server +0 -3
  357. data/src/admin.mxml +0 -62
  358. data/src/assets/LoadingUndefinedSkin.swf +0 -0
  359. data/src/assets/UndefinedPersonalSkinLoad.swf +0 -0
  360. data/src/assets/blanc.png +0 -0
  361. data/src/assets/botones/Boton_dis.png +0 -0
  362. data/src/assets/botones/PopUpButton.png +0 -0
  363. data/src/assets/botones/PopUpButton1.png +0 -0
  364. data/src/assets/botones/PopUpButton2.png +0 -0
  365. data/src/assets/botones/PopUpButton_0.png +0 -0
  366. data/src/assets/botones/PopUpButton_1.png +0 -0
  367. data/src/assets/botones/PopUpButton_2.png +0 -0
  368. data/src/assets/botones/PopUpButton_dis.png +0 -0
  369. data/src/assets/botones/PopUpMenuButton.png +0 -0
  370. data/src/assets/botones/PopUpMenuButton1.png +0 -0
  371. data/src/assets/botones/PopUpMenuButton2.png +0 -0
  372. data/src/assets/botones/PopUpMenuButton_0.png +0 -0
  373. data/src/assets/botones/PopUpMenuButton_1.png +0 -0
  374. data/src/assets/botones/PopUpMenuButton_2.png +0 -0
  375. data/src/assets/botones/PopUpMenuButton_dis.png +0 -0
  376. data/src/assets/botones/Scroll_barra.png +0 -0
  377. data/src/assets/botones/Scroll_barra1.png +0 -0
  378. data/src/assets/botones/Scroll_barra2.png +0 -0
  379. data/src/assets/botones/Scroll_down.png +0 -0
  380. data/src/assets/botones/Scroll_down1.png +0 -0
  381. data/src/assets/botones/Scroll_fondo.png +0 -0
  382. data/src/assets/botones/Scroll_icon.png +0 -0
  383. data/src/assets/botones/Scroll_up.png +0 -0
  384. data/src/assets/botones/Scroll_up1.png +0 -0
  385. data/src/assets/botones/TabNavigator.png +0 -0
  386. data/src/assets/botones/TabNavigator1.png +0 -0
  387. data/src/assets/botones/TabNavigator2.png +0 -0
  388. data/src/assets/botones/TabNavigator3.png +0 -0
  389. data/src/assets/botones/Thumbs.db +0 -0
  390. data/src/assets/botones/accordion_backround.png +0 -0
  391. data/src/assets/botones/accordion_barra.png +0 -0
  392. data/src/assets/botones/accordion_barra1.png +0 -0
  393. data/src/assets/botones/accordion_barra2.png +0 -0
  394. data/src/assets/botones/accordion_barra3.png +0 -0
  395. data/src/assets/botones/adelante.png +0 -0
  396. data/src/assets/botones/adelante1.png +0 -0
  397. data/src/assets/botones/adelante2.png +0 -0
  398. data/src/assets/botones/adelante_dis.png +0 -0
  399. data/src/assets/botones/atras.png +0 -0
  400. data/src/assets/botones/atras1.png +0 -0
  401. data/src/assets/botones/atras2.png +0 -0
  402. data/src/assets/botones/atras_dis.png +0 -0
  403. data/src/assets/botones/barra.png +0 -0
  404. data/src/assets/botones/barra_dis.png +0 -0
  405. data/src/assets/botones/barra_v.png +0 -0
  406. data/src/assets/botones/boton.jpg +0 -0
  407. data/src/assets/botones/boton.png +0 -0
  408. data/src/assets/botones/boton1.png +0 -0
  409. data/src/assets/botones/boton2.png +0 -0
  410. data/src/assets/botones/boton_classic.png +0 -0
  411. data/src/assets/botones/boton_classic1.png +0 -0
  412. data/src/assets/botones/boton_classic2.png +0 -0
  413. data/src/assets/botones/bullet.png +0 -0
  414. data/src/assets/botones/bullet1.png +0 -0
  415. data/src/assets/botones/bullet_V_dis.png +0 -0
  416. data/src/assets/botones/bullet_dis.png +0 -0
  417. data/src/assets/botones/bullet_v.png +0 -0
  418. data/src/assets/botones/bullet_v1.png +0 -0
  419. data/src/assets/botones/chekOff.png +0 -0
  420. data/src/assets/botones/chekOff1.png +0 -0
  421. data/src/assets/botones/chekOff2.png +0 -0
  422. data/src/assets/botones/chekOn.png +0 -0
  423. data/src/assets/botones/chekOn1.png +0 -0
  424. data/src/assets/botones/chekOn2.png +0 -0
  425. data/src/assets/botones/chek_dis.png +0 -0
  426. data/src/assets/botones/close.png +0 -0
  427. data/src/assets/botones/close1.png +0 -0
  428. data/src/assets/botones/close2.png +0 -0
  429. data/src/assets/botones/close_folder.png +0 -0
  430. data/src/assets/botones/colorPicker.png +0 -0
  431. data/src/assets/botones/colorPicker1.png +0 -0
  432. data/src/assets/botones/colorPicker2.png +0 -0
  433. data/src/assets/botones/colorPicker_blanco.png +0 -0
  434. data/src/assets/botones/colorPicker_blanco1.png +0 -0
  435. data/src/assets/botones/colorPicker_blanco2.png +0 -0
  436. data/src/assets/botones/colorPicker_dis.png +0 -0
  437. data/src/assets/botones/combo.png +0 -0
  438. data/src/assets/botones/combo1.png +0 -0
  439. data/src/assets/botones/combo2.png +0 -0
  440. data/src/assets/botones/combo_dis.png +0 -0
  441. data/src/assets/botones/dataIcon.png +0 -0
  442. data/src/assets/botones/dataIcon1.png +0 -0
  443. data/src/assets/botones/dataIcon2.png +0 -0
  444. data/src/assets/botones/dataIcon_dis.png +0 -0
  445. data/src/assets/botones/dataText.png +0 -0
  446. data/src/assets/botones/folder_close.png +0 -0
  447. data/src/assets/botones/folder_open.png +0 -0
  448. data/src/assets/botones/hoja.png +0 -0
  449. data/src/assets/botones/icon_down.png +0 -0
  450. data/src/assets/botones/icon_up.png +0 -0
  451. data/src/assets/botones/last_toggle.png +0 -0
  452. data/src/assets/botones/last_toggle1.png +0 -0
  453. data/src/assets/botones/last_toggle2.png +0 -0
  454. data/src/assets/botones/last_toggle3.png +0 -0
  455. data/src/assets/botones/numericStepper_Down.png +0 -0
  456. data/src/assets/botones/numericStepper_Down1.png +0 -0
  457. data/src/assets/botones/numericStepper_Down2.png +0 -0
  458. data/src/assets/botones/numericStepper_Down_dis.png +0 -0
  459. data/src/assets/botones/numericStepper_Text.png +0 -0
  460. data/src/assets/botones/numericStepper_Up.png +0 -0
  461. data/src/assets/botones/numericStepper_Up1.png +0 -0
  462. data/src/assets/botones/numericStepper_Up2.png +0 -0
  463. data/src/assets/botones/numericStepper_Up_dis.png +0 -0
  464. data/src/assets/botones/open_folder.png +0 -0
  465. data/src/assets/botones/prev_toggle.png +0 -0
  466. data/src/assets/botones/prev_toggle1.png +0 -0
  467. data/src/assets/botones/prev_toggle2.png +0 -0
  468. data/src/assets/botones/prev_toggle3.png +0 -0
  469. data/src/assets/botones/progress.png +0 -0
  470. data/src/assets/botones/progress_barra.png +0 -0
  471. data/src/assets/botones/progress_charning.png +0 -0
  472. data/src/assets/botones/progress_dis.png +0 -0
  473. data/src/assets/botones/radio.png +0 -0
  474. data/src/assets/botones/radio1.png +0 -0
  475. data/src/assets/botones/radio2.png +0 -0
  476. data/src/assets/botones/radio3.png +0 -0
  477. data/src/assets/botones/radio4.png +0 -0
  478. data/src/assets/botones/radio_dis.png +0 -0
  479. data/src/assets/botones/seleccionData.png +0 -0
  480. data/src/assets/botones/seleccionDataSelected.png +0 -0
  481. data/src/assets/botones/seleccionDataUp.png +0 -0
  482. data/src/assets/botones/textArea.png +0 -0
  483. data/src/assets/botones/textInput.png +0 -0
  484. data/src/assets/botones/textInput_error.png +0 -0
  485. data/src/assets/botones/textInput_no.png +0 -0
  486. data/src/assets/botones/toggle_medio.png +0 -0
  487. data/src/assets/botones/toggle_medio1.png +0 -0
  488. data/src/assets/botones/toggle_medio2.png +0 -0
  489. data/src/assets/botones/toggle_medio3.png +0 -0
  490. data/src/assets/botones/toolTip.png +0 -0
  491. data/src/assets/general/Fondo4.jpg +0 -0
  492. data/src/assets/general/Fondo5.jpg +0 -0
  493. data/src/assets/general/MenuItem.png +0 -0
  494. data/src/assets/general/MenuItem1.png +0 -0
  495. data/src/assets/general/Thumbs.db +0 -0
  496. data/src/assets/general/alert_fondo.png +0 -0
  497. data/src/assets/general/alert_fondo1.png +0 -0
  498. data/src/assets/general/alert_titulo.png +0 -0
  499. data/src/assets/general/alert_titulo1.png +0 -0
  500. data/src/assets/general/blanc.png +0 -0
  501. data/src/assets/general/fondo.jpg +0 -0
  502. data/src/assets/general/fondo1.jpg +0 -0
  503. data/src/assets/general/fondo2.jpg +0 -0
  504. data/src/assets/general/fondo3.jpg +0 -0
  505. data/src/assets/general/fondo_list.png +0 -0
  506. data/src/assets/general/menu.png +0 -0
  507. data/src/assets/general/panel.png +0 -0
  508. data/src/assets/general/separator.png +0 -0
  509. data/src/assets/general/titleWindow.png +0 -0
  510. data/src/assets/general/titleWindow1.png +0 -0
  511. data/src/assets/icons/Thumbs.db +0 -0
  512. data/src/assets/icons/ai.jpg +0 -0
  513. data/src/assets/icons/air.jpg +0 -0
  514. data/src/assets/icons/fl.jpg +0 -0
  515. data/src/assets/icons/fw.jpg +0 -0
  516. data/src/assets/icons/fx.jpg +0 -0
  517. data/src/assets/icons/ps.jpg +0 -0
  518. data/src/assets/programmatic/BigThumbClass.as +0 -14
  519. data/src/assets/programmatic/CustomPreloader.as +0 -79
  520. data/src/assets/programmatic/MyDateField.as +0 -22
  521. data/src/assets/scroll/Thumbs.db +0 -0
  522. data/src/assets/scroll/barra.png +0 -0
  523. data/src/assets/scroll/barra1.png +0 -0
  524. data/src/assets/scroll/barra2.png +0 -0
  525. data/src/assets/scroll/barra_1.png +0 -0
  526. data/src/assets/scroll/barra_2.png +0 -0
  527. data/src/assets/scroll/down.png +0 -0
  528. data/src/assets/scroll/down1.png +0 -0
  529. data/src/assets/scroll/down_1.png +0 -0
  530. data/src/assets/scroll/down_2.png +0 -0
  531. data/src/assets/scroll/fondo.png +0 -0
  532. data/src/assets/scroll/fondo_1.png +0 -0
  533. data/src/assets/scroll/fondo_2.png +0 -0
  534. data/src/assets/scroll/up.png +0 -0
  535. data/src/assets/scroll/up1.png +0 -0
  536. data/src/assets/scroll/up_1.png +0 -0
  537. data/src/assets/scroll/up_2.png +0 -0
  538. data/src/assets/xml/listData.xml +0 -21
  539. data/src/images/logo.png +0 -0
  540. data/src/libs/Cairngorm.swc +0 -0
  541. data/src/libs/flexlib.swc +0 -0
  542. data/src/org/rsos/openbill/business/RailsDelegate.as +0 -109
  543. data/src/org/rsos/openbill/business/Services.mxml +0 -15
  544. data/src/org/rsos/openbill/command/FpCommand.as +0 -44
  545. data/src/org/rsos/openbill/command/LoginCommand.as +0 -52
  546. data/src/org/rsos/openbill/command/LogoutCommand.as +0 -43
  547. data/src/org/rsos/openbill/command/ProductCommand.as +0 -49
  548. data/src/org/rsos/openbill/command/SettingCommand.as +0 -39
  549. data/src/org/rsos/openbill/control/OpenbillController.as +0 -25
  550. data/src/org/rsos/openbill/event/FpEvent.as +0 -29
  551. data/src/org/rsos/openbill/event/LoginEvent.as +0 -29
  552. data/src/org/rsos/openbill/event/LogoutEvent.as +0 -26
  553. data/src/org/rsos/openbill/event/ProductEvent.as +0 -29
  554. data/src/org/rsos/openbill/event/SettingEvent.as +0 -29
  555. data/src/org/rsos/openbill/model/OpenbillModelLocator.as +0 -188
  556. data/src/org/rsos/openbill/util/ValueObjectUtil.as +0 -19
  557. data/src/org/rsos/openbill/view/Content.mxml +0 -4
  558. data/src/org/rsos/openbill/view/Footer.mxml +0 -25
  559. data/src/org/rsos/openbill/view/Header.mxml +0 -31
  560. data/src/org/rsos/openbill/view/Product.mxml +0 -82
  561. data/src/org/rsos/openbill/view/Setting.mxml +0 -111
  562. data/src/org/rsos/openbill/view/SignIn.mxml +0 -67
  563. data/src/org/rsos/openbill/vo/AccountVO.as +0 -13
  564. data/src/org/rsos/openbill/vo/CurrencyVO.as +0 -18
  565. data/src/org/rsos/openbill/vo/ProductVO.as +0 -17
  566. data/src/org/rsos/openbill/vo/RoleVO.as +0 -14
  567. data/src/org/rsos/openbill/vo/SettingVO.as +0 -29
  568. data/src/org/rsos/openbill/vo/UserVO.as +0 -18
  569. data/src/stylesheets/darkroom.css +0 -1374
  570. data/src/stylesheets/darkroom.swf +0 -0
  571. data/src/stylesheets/default.css +0 -1034
  572. data/src/stylesheets/myriad.swf +0 -0
  573. data/test/fixtures/accounts.yml +0 -3
  574. data/test/fixtures/billingcycles.yml +0 -41
  575. data/test/fixtures/currencies.yml +0 -11
  576. data/test/fixtures/emailtemplates.yml +0 -8
  577. data/test/fixtures/invoicedetails.yml +0 -0
  578. data/test/fixtures/invoices.yml +0 -0
  579. data/test/fixtures/options.yml +0 -0
  580. data/test/fixtures/orderdetails.yml +0 -0
  581. data/test/fixtures/orders.yml +0 -0
  582. data/test/fixtures/paymentgateways.yml +0 -0
  583. data/test/fixtures/products.yml +0 -40
  584. data/test/fixtures/registrarlogs.yml +0 -0
  585. data/test/fixtures/registrars.yml +0 -4
  586. data/test/fixtures/roles.yml +0 -19
  587. data/test/fixtures/serverlogs.yml +0 -0
  588. data/test/fixtures/servers.yml +0 -0
  589. data/test/fixtures/settings.yml +0 -7
  590. data/test/fixtures/tlds.yml +0 -17
  591. data/test/fixtures/transactions.yml +0 -0
  592. data/test/fixtures/userfieldnames.yml +0 -9
  593. data/test/fixtures/userfieldvalues.yml +0 -11
  594. data/test/fixtures/users.yml +0 -28
  595. data/test/integration/empty +0 -0
  596. data/vendor/generators/cairngorm/USAGE +0 -7
  597. data/vendor/generators/cairngorm/cairngorm_generator.rb +0 -23
  598. data/vendor/generators/cairngorm/templates/Controller_template.as +0 -20
  599. data/vendor/generators/cairngorm/templates/ModelLocator_template.as +0 -29
  600. data/vendor/generators/cairngorm/templates/Services_template.mxml +0 -8
  601. data/vendor/generators/cairngorm/templates/ValueObjectUtil_template.as +0 -19
  602. data/vendor/generators/cairngorm/templates/main_template.mxml +0 -27
  603. data/vendor/generators/command/USAGE +0 -10
  604. data/vendor/generators/command/command_generator.rb +0 -8
  605. data/vendor/generators/command/templates/command_template.as +0 -39
  606. data/vendor/generators/command/templates/event_template.as +0 -26
  607. data/vendor/generators/delegate/USAGE +0 -8
  608. data/vendor/generators/delegate/delegate_generator.rb +0 -7
  609. data/vendor/generators/delegate/templates/delegate_template.as +0 -26
  610. data/vendor/generators/event/USAGE +0 -8
  611. data/vendor/generators/event/event_generator.rb +0 -7
  612. data/vendor/generators/event/templates/event_template.as +0 -26
  613. data/vendor/generators/vo/USAGE +0 -9
  614. data/vendor/generators/vo/templates/vo_template.as +0 -18
  615. data/vendor/generators/vo/vo_generator.rb +0 -7
  616. data/vendor/generators/worbservice/USAGE +0 -8
  617. data/vendor/generators/worbservice/templates/service.rb +0 -11
  618. data/vendor/generators/worbservice/worbservice_generator.rb +0 -7
  619. data/vendor/plugins/enum-column/init.rb +0 -9
  620. data/vendor/plugins/enum-column/lib/enum/active_record_helper.rb +0 -107
  621. data/vendor/plugins/enum-column/lib/enum/enum_adapter.rb +0 -76
  622. data/vendor/plugins/enum-column/lib/enum/mysql_adapter.rb +0 -33
  623. data/vendor/plugins/enum-column/lib/enum/postgresql_adapter.rb +0 -64
  624. data/vendor/plugins/enum-column/lib/enum/quoting.rb +0 -17
  625. data/vendor/plugins/enum-column/lib/enum/schema_definitions.rb +0 -12
  626. data/vendor/plugins/enum-column/lib/enum/schema_statements.rb +0 -32
  627. data/vendor/plugins/enum-column/lib/enum/sqlite3_adapter.rb +0 -52
  628. data/vendor/plugins/enum-column/lib/enum/validations.rb +0 -40
  629. data/vendor/plugins/enum-column/readme.html +0 -125
  630. data/vendor/plugins/enum-column/test/db/schema.rb +0 -28
  631. data/vendor/plugins/enum-column/test/enum_mysql_test.rb +0 -220
  632. data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.drop.sql +0 -32
  633. data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.sql +0 -244
  634. data/vendor/plugins/enum-column/test/fixtures/enumeration.rb +0 -20
  635. data/vendor/plugins/enum-column/test/test_helper.rb +0 -18
  636. data/vendor/plugins/restful-authentication/.gitignore +0 -21
  637. data/vendor/plugins/restful-authentication/CHANGELOG +0 -68
  638. data/vendor/plugins/restful-authentication/LICENSE +0 -20
  639. data/vendor/plugins/restful-authentication/README.textile +0 -224
  640. data/vendor/plugins/restful-authentication/Rakefile +0 -32
  641. data/vendor/plugins/restful-authentication/TODO +0 -15
  642. data/vendor/plugins/restful-authentication/generators/authenticated/USAGE +0 -1
  643. data/vendor/plugins/restful-authentication/generators/authenticated/authenticated_generator.rb +0 -478
  644. data/vendor/plugins/restful-authentication/generators/authenticated/lib/insert_routes.rb +0 -54
  645. data/vendor/plugins/restful-authentication/generators/authenticated/templates/_model_partial.html.erb +0 -8
  646. data/vendor/plugins/restful-authentication/generators/authenticated/templates/activation.erb +0 -3
  647. data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_system.rb +0 -189
  648. data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_test_helper.rb +0 -22
  649. data/vendor/plugins/restful-authentication/generators/authenticated/templates/controller.rb +0 -43
  650. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/accounts.feature +0 -109
  651. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/sessions.feature +0 -134
  652. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_env.rb +0 -9
  653. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_navigation_steps.rb +0 -48
  654. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_resource_steps.rb +0 -178
  655. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_response_steps.rb +0 -169
  656. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/rest_auth_features_helper.rb +0 -81
  657. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/user_steps.rb +0 -131
  658. data/vendor/plugins/restful-authentication/generators/authenticated/templates/helper.rb +0 -2
  659. data/vendor/plugins/restful-authentication/generators/authenticated/templates/login.html.erb +0 -16
  660. data/vendor/plugins/restful-authentication/generators/authenticated/templates/mailer.rb +0 -25
  661. data/vendor/plugins/restful-authentication/generators/authenticated/templates/migration.rb +0 -26
  662. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model.rb +0 -83
  663. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_controller.rb +0 -85
  664. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper.rb +0 -93
  665. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper_spec.rb +0 -158
  666. data/vendor/plugins/restful-authentication/generators/authenticated/templates/observer.rb +0 -11
  667. data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup.html.erb +0 -19
  668. data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup_notification.erb +0 -8
  669. data/vendor/plugins/restful-authentication/generators/authenticated/templates/site_keys.rb +0 -38
  670. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/access_control_spec.rb +0 -90
  671. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/authenticated_system_spec.rb +0 -102
  672. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/sessions_controller_spec.rb +0 -139
  673. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/users_controller_spec.rb +0 -198
  674. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/fixtures/users.yml +0 -60
  675. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/helpers/users_helper_spec.rb +0 -141
  676. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/models/user_spec.rb +0 -290
  677. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/functional_test.rb +0 -82
  678. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/mailer_test.rb +0 -31
  679. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/model_functional_test.rb +0 -93
  680. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/unit_test.rb +0 -164
  681. data/vendor/plugins/restful-authentication/init.rb +0 -1
  682. data/vendor/plugins/restful-authentication/lib/authentication.rb +0 -40
  683. data/vendor/plugins/restful-authentication/lib/authentication/by_cookie_token.rb +0 -82
  684. data/vendor/plugins/restful-authentication/lib/authentication/by_password.rb +0 -64
  685. data/vendor/plugins/restful-authentication/lib/authorization.rb +0 -14
  686. data/vendor/plugins/restful-authentication/lib/authorization/aasm_roles.rb +0 -63
  687. data/vendor/plugins/restful-authentication/lib/authorization/stateful_roles.rb +0 -62
  688. data/vendor/plugins/restful-authentication/lib/trustification.rb +0 -14
  689. data/vendor/plugins/restful-authentication/lib/trustification/email_validation.rb +0 -20
  690. data/vendor/plugins/restful-authentication/notes/AccessControl.txt +0 -2
  691. data/vendor/plugins/restful-authentication/notes/Authentication.txt +0 -5
  692. data/vendor/plugins/restful-authentication/notes/Authorization.txt +0 -154
  693. data/vendor/plugins/restful-authentication/notes/RailsPlugins.txt +0 -78
  694. data/vendor/plugins/restful-authentication/notes/SecurityFramework.graffle +0 -0
  695. data/vendor/plugins/restful-authentication/notes/SecurityFramework.png +0 -0
  696. data/vendor/plugins/restful-authentication/notes/SecurityPatterns.txt +0 -163
  697. data/vendor/plugins/restful-authentication/notes/Tradeoffs.txt +0 -126
  698. data/vendor/plugins/restful-authentication/notes/Trustification.txt +0 -49
  699. data/vendor/plugins/restful-authentication/rails/init.rb +0 -3
  700. data/vendor/plugins/restful-authentication/restful-authentication.gemspec +0 -33
  701. data/vendor/plugins/restful-authentication/tasks/auth.rake +0 -33
  702. data/vendor/plugins/ruby-enom/README.markdown +0 -37
  703. data/vendor/plugins/ruby-enom/ruby-enom.rb +0 -198
@@ -1,17 +0,0 @@
1
- module ActiveRecord
2
- module ConnectionAdapters # :nodoc:
3
- module Quoting
4
- alias __quote_enum quote
5
-
6
- # Quote a symbol as a normal string. This will support quoting of
7
- # enumerated values.
8
- def quote(value, column = nil)
9
- if !value.is_a? Symbol
10
- __quote_enum(value, column)
11
- else
12
- ActiveRecord::Base.send(:quote_bound_value, value.to_s)
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,12 +0,0 @@
1
-
2
- module ActiveRecord
3
- module ConnectionAdapters
4
- class TableDefinition
5
- def enum(*args)
6
- options = args.extract_options!
7
- column_names = args
8
- column_names.each { |name| column(name, 'enum', options) }
9
- end
10
- end
11
- end
12
- end
@@ -1,32 +0,0 @@
1
- module ActiveRecord
2
- module ConnectionAdapters # :nodoc:
3
- module SchemaStatements
4
- alias __type_to_sql_enum type_to_sql
5
-
6
- # Add enumeration support for schema statement creation. This
7
- # will have to be adapted for every adapter if the type requires
8
- # anything by a list of allowed values. The overrides the standard
9
- # type_to_sql method and chains back to the default. This could
10
- # be done on a per adapter basis, but is generalized here.
11
- #
12
- # will generate enum('a', 'b', 'c') for :limit => [:a, :b, :c]
13
- def type_to_sql(type, limit = nil, precision = nil, scale = nil) #:nodoc:
14
- if type == :enum
15
- native = native_database_types[type]
16
- column_type_sql = native[:name] || 'enum'
17
-
18
- column_type_sql << "(#{limit.map { |v| quote(v) }.join(',')})"
19
- column_type_sql
20
- else
21
- # Edge rails fallback for Rails 1.1.6. We can remove the
22
- # rescue once everyone has upgraded to 1.2.
23
- begin
24
- __type_to_sql_enum(type, limit, precision, scale)
25
- rescue ArgumentError
26
- __type_to_sql_enum(type, limit)
27
- end
28
- end
29
- end
30
- end
31
- end
32
- end
@@ -1,52 +0,0 @@
1
- module ActiveRecord
2
- module ConnectionAdapters
3
- class SQLite3Adapter
4
- alias __native_database_types_enum native_database_types
5
-
6
- def native_database_types #:nodoc
7
- types = __native_database_types_enum
8
- types[:enum] = { :name => "varchar(32)" }
9
- types
10
- end
11
-
12
- def columns(table_name, name = nil)#:nodoc:
13
- constraints = { }
14
- @connection.execute "SELECT sql FROM sqlite_master WHERE name = '#{table_name}'" do |row|
15
- sql = row[0]
16
- sql.scan(/, \"(\w+)\" varchar\(32\) CHECK\(\"\w+\" in \(([^\)]+)\)/i) do |column, constraint|
17
- constraints[column] = constraint
18
- end
19
- end
20
- table_structure(table_name).map do |field|
21
- name = field['name']
22
- type = field['type']
23
- if (const = constraints[name])
24
- type = "enum(#{const.strip})"
25
- end
26
- SQLite3ColumnWithEnum.new(name, field['dflt_value'], type, field['notnull'] == "0")
27
- end
28
- end
29
-
30
- def add_column_options!(sql, options)
31
- unless sql =~ /\(32\)\('[^']+'/
32
- super(sql, options)
33
- else
34
- sql.gsub!(/("[^"]+")([^3]+32\))(.+)/, '\1\2 CHECK(\1 in \3)')
35
- super(sql, options)
36
- end
37
- end
38
- end
39
-
40
- class SQLite3ColumnWithEnum < SQLiteColumn
41
- include ActiveRecordEnumerations::Column
42
-
43
- def initialize(name, default, sql_type = nil, null = true)
44
- if sql_type =~ /^enum/i
45
- values = sql_type.sub(/^enum\('([^)]+)'\)/i, '\1').split("','").map { |v| v.intern }
46
- default = default.intern if default and !default.empty?
47
- end
48
- super(name, default, sql_type, null, values)
49
- end
50
- end
51
- end
52
- end
@@ -1,40 +0,0 @@
1
-
2
- module ActiveRecord
3
- module Validations
4
- module ClassMethods
5
- # Automatically validates the column against the schema definition
6
- # for nullability, format, and enumerations. Handles integers, floats,
7
- # enumerations, and string limits.
8
- #
9
- # Usage: validates_columns :severity, :name
10
- def validates_columns(*column_names)
11
- begin
12
- cols = columns_hash
13
- column_names.each do |name|
14
- col = cols[name.to_s]
15
- raise ArgumentError, "Cannot find column #{name}" unless col
16
-
17
- # test for nullability
18
- validates_presence_of(name) if !col.null
19
-
20
- # Test various known types.
21
- case col.type
22
- when :enum
23
- validates_inclusion_of name, :in => col.values, :allow_nil => true
24
-
25
- when :integer, :float
26
- validates_numericality_of name, :allow_nil => true
27
-
28
- when :string
29
- if col.limit
30
- validates_length_of name, :maximum => col.limit, :allow_nil => true
31
- end
32
- end
33
- end
34
- rescue ActiveRecord::StatementInvalid=>e
35
- raise e unless e.message.include?("42S02") # swallow the exception if its for a missing table
36
- end
37
- end
38
- end
39
- end
40
- end
@@ -1,125 +0,0 @@
1
- <html>
2
- <head>
3
- <title>Ruby on Rails Enumerated Column Constraints</title>
4
- <style>
5
- body {
6
- font-family: "Lucida Sans", Verdana, sans-serif;
7
- font-size: small;
8
- }
9
-
10
- h1 { font-size: 175%; }
11
-
12
- .indent {
13
- margin-left: 4em;
14
- }
15
-
16
- </style>
17
- </head>
18
- <body>
19
- <h1>Ruby on Rails Enumerated Column Constraints</h1>
20
- <h2>Overview</h2>
21
- <p>This plugin is an ROR extension to support enumerations in the database schema using the enum type in MySQL or column constraints in other databases. Currently only MySQL has been implemented, but other connection adapters can easily be extended to check for column constraints and then parse out the possible values.</p>
22
-
23
- <p>This makes it very easy to implement and maintain controlled vocabularies in the database schema without having to change the validations and the view. I have made an effort to make the modifications without modifying the core classes, but I have not been extreamly successful. I have had to make some modifications that are version dependent and then put some exception handlers to make the backward compatible. </p>
24
-
25
- <p>This is not the ideal solution and could cause some performance issues in the helpers. The core code still works with both 1.1 and 1.2 without modification.</p>
26
-
27
- <h2>Installation</h2>
28
-
29
- <p>To install using the plugin script:</p>
30
- <pre>
31
- script/plugin install enum-column
32
- </pre>
33
-
34
- <p>To manually install using Subversion, do the following. In your <code>vendor/plugins</code> directory,
35
- type the following:<p>
36
- <pre>
37
- svn checkout svn://rubyforge.org/var/svn/enum-column
38
- </pre>
39
-
40
- <p>Otherwize download the latest zip or tarball and unpack it in your <code>vendor/plugins</code> directory.</p>
41
-
42
- <h2>How to use it.</h2>
43
-
44
- <h3>In your schema</h3>
45
-
46
- <p>When you create your schema, specify the constraint as a limit:</p>
47
- <pre>
48
- create_table :enumerations, :force => true do |t|
49
- t.column :severity, :enum, :limit =&gt; [:low, :medium, :high, :critical],
50
- :default => :medium
51
- t.column :color, :enum, :limit =&gt; [:red, :blue, :green, :yellow]
52
- ...
53
- end
54
- </pre>
55
-
56
- <h3>In the model</h3>
57
- <p>You can then automatically validate this column using:</p>
58
- <pre>
59
- validates_columns :severity, :color
60
- </pre>
61
-
62
- <p>The rest will be handled for you. All enumerated values will be given as symbols.</p>
63
- <pre>
64
- @e = Enumeration.new
65
- @e.severity = :low
66
- </pre>
67
-
68
- <h3>In the views.</h3>
69
-
70
- <p>In the controller:</p>
71
- <pre>
72
- @e = Enumeration.new
73
- </pre>
74
-
75
- <p>The enumerates list of values will be specified as follows:</p>
76
- <pre>
77
- &lt;%= input 'e', 'severity' %&gt;
78
- </pre>
79
-
80
- <p>Will create a select/option list:</p>
81
- <pre>
82
- &lt;select id="e_severity" name="e[severity]"&gt;
83
- &lt;option value="low"&gt;low&lt;/option&gt;
84
- &lt;option value="medium" selected="selected"&gt;medium&lt;/option&gt;
85
- &lt;option value="high"&gt;high&lt;/option&gt;
86
- &lt;option value="critical"&gt;critical&lt;/option&gt;
87
- &lt;/select&gt;
88
- </pre>
89
-
90
- <div class="indent">
91
- <select id="e_severity" name="e[severity]">
92
- <option value="low">low</option>
93
- <option value="medium" selected="selected">medium</option>
94
- <option value="high">high</option>
95
- <option value="critical">critical</option>
96
- </select>
97
- </div>
98
-
99
- <p>You can also create a set of radio buttons using the following helper:</p>
100
- <pre>
101
- &lt;%= enum_radio('e', 'severity') %=&gt;
102
- </pre>
103
- <p>Will produce the following group of radio buttons:</p>
104
- <pre>
105
- &lt;label&gt;low: &lt;input id="test_severity_low" name="test[severity]" type="radio" value="low" /&gt;&lt;/label&gt;
106
- &lt;label&gt;medium: &lt;input checked="checked" id="test_severity_medium" name="test[severity]" type="radio" value="medium" /&gt;&lt;/label&gt;
107
- &lt;label&gt;high: &lt;input id="test_severity_high" name="test[severity]" type="radio" value="high" /&gt;&lt;/label&gt;
108
- &lt;label&gt;critical: &lt;input id="test_severity_critical" name="test[severity]" type="radio" value="critical" /&gt;&lt;/label&gt;
109
- </pre>
110
-
111
- <div class="indent">
112
- <label>low: <input id="test_severity_low" name="test[severity]" type="radio" value="low" /></label>
113
- <label>medium: <input checked="checked" id="test_severity_medium" name="test[severity]" type="radio" value="medium" /></label>
114
- <label>high: <input id="test_severity_high" name="test[severity]" type="radio" value="high" /></label>
115
- <label>critical: <input id="test_severity_critical" name="test[severity]" type="radio" value="critical" /></label>
116
- </div>
117
-
118
- <p>You can always use the column reflection to get the list of possible values from the database column. </p>
119
- <pre>
120
- Enumeration.columns_hash['color'].values
121
-
122
- Will yield: [:red, :blue, :green, :yellow]
123
- </pre>
124
-
125
-
@@ -1,28 +0,0 @@
1
-
2
- ActiveRecord::Schema.define do
3
- create_table :enumerations, :force => true do |t|
4
- t.column :severity, :enum, :limit => [:low, :medium, :high, :critical],
5
- :default => :medium
6
- t.column :color, :enum, :limit => [:red, :blue, :green, :yellow]
7
- t.column :string_field, :string, :limit => 8, :null => false
8
- t.column :int_field, :integer
9
- end
10
-
11
-
12
- create_table :basic_enums, :force => true do |t|
13
- t.column :value, :enum, :limit => [:good, :working]
14
- end
15
-
16
- create_table :basic_default_enums, :force => true do |t|
17
- t.column :value, :enum, :limit => [:good, :working],:default => :working
18
- end
19
-
20
- create_table :nonnull_enums, :force => true do |t|
21
- t.column :value, :enum, :limit => [:good, :working],:null => false
22
- end
23
-
24
- create_table :nonnull_default_enums, :force => true do |t|
25
- t.column :value, :enum, :limit => [:good, :working],:null => false,:default => :working
26
- end
27
-
28
- end
@@ -1,220 +0,0 @@
1
- require File.dirname(__FILE__) + '/test_helper'
2
- require 'fixtures/enumeration'
3
-
4
- class EnumerationsTest < Test::Unit::TestCase
5
- class EnumController < ActionController::Base
6
- def test1
7
- @test = Enumeration.new
8
- render :inline => "<%= input('test', 'severity')%>"
9
- end
10
-
11
- def test2
12
- @test = Enumeration.new
13
- render :inline => "<%= enum_radio('test', 'severity')%>"
14
- end
15
- end
16
-
17
- def setup
18
- Enumeration.connection.execute 'DELETE FROM enumerations'
19
- end
20
-
21
- def test_column_values
22
- columns = Enumeration.columns_hash
23
- color_column = columns['color']
24
- assert color_column
25
- assert_equal [:red, :blue, :green, :yellow], color_column.values
26
-
27
- severity_column = columns['severity']
28
- assert severity_column
29
- assert_equal [:low, :medium, :high, :critical], severity_column.values
30
- assert_equal :medium, severity_column.default
31
- end
32
-
33
- def test_insert_enum
34
- row = Enumeration.new
35
- row.color = :blue
36
- row.string_field = 'test'
37
- assert_equal :medium, row.severity
38
- assert row.save
39
-
40
- db_row = Enumeration.find(row.id)
41
- assert db_row
42
- assert :blue, row.color
43
- assert :medium, row.severity
44
- end
45
-
46
- # Uses the automatic validates_columns to create automatic validation rules
47
- # for columns based on the schema information.
48
- def test_bad_value
49
- row = Enumeration.new
50
- row.color = :violet
51
- row.string_field = 'test'
52
- assert !row.save
53
-
54
- assert row.errors
55
- assert_equal 'is not included in the list', row.errors['color']
56
- end
57
-
58
- def test_other_types
59
- row = Enumeration.new
60
- row.string_field = 'a' * 10
61
- assert !row.save
62
- assert_equal 'is too long (maximum is 8 characters)', row.errors['string_field']
63
-
64
- row = Enumeration.new
65
- assert !row.save
66
- assert_equal 'can\'t be blank', row.errors['string_field']
67
-
68
- row = Enumeration.new
69
- row.string_field = 'test'
70
- row.int_field = 'aaaa'
71
- assert !row.save
72
- assert_equal 'is not a number', row.errors['int_field']
73
-
74
- row = Enumeration.new
75
- row.string_field = 'test'
76
- row.int_field = '500'
77
- assert row.save
78
- end
79
-
80
- def test_view_helper
81
- request = ActionController::TestRequest.new
82
- response = ActionController::TestResponse.new
83
- request.action = 'test1'
84
- body = EnumController.process(request, response).body
85
- assert_equal '<select id="test_severity" name="test[severity]"><option value="low">low</option><option value="medium" selected="selected">medium</option><option value="high">high</option><option value="critical">critical</option></select>', body
86
- end
87
-
88
- def test_radio_helper
89
- request = ActionController::TestRequest.new
90
- response = ActionController::TestResponse.new
91
- request.action = 'test2'
92
- body = EnumController.process(request, response).body
93
- assert_equal '<label>low: <input id="test_severity_low" name="test[severity]" type="radio" value="low" /></label><label>medium: <input checked="checked" id="test_severity_medium" name="test[severity]" type="radio" value="medium" /></label><label>high: <input id="test_severity_high" name="test[severity]" type="radio" value="high" /></label><label>critical: <input id="test_severity_critical" name="test[severity]" type="radio" value="critical" /></label>', body
94
- end
95
-
96
-
97
- # Basic tests
98
- def test_create_basic_default
99
- assert (object = BasicEnum.create)
100
- assert_nil object.value,
101
- "Enum columns without explicit default, default to null if allowed"
102
- assert !object.new_record?
103
- end
104
-
105
- def test_create_basic_good
106
- assert (object = BasicEnum.create(:value => :good))
107
- assert_equal :good, object.value
108
- assert !object.new_record?
109
- assert (object = BasicEnum.create(:value => :working))
110
- assert_equal :working, object.value
111
- assert !object.new_record?
112
- end
113
-
114
- def test_create_basic_null
115
- assert (object = BasicEnum.create(:value => nil))
116
- assert_nil object.value
117
- assert !object.new_record?
118
- end
119
-
120
- def test_create_basic_bad
121
- assert (object = BasicEnum.create(:value => :bad))
122
- assert object.new_record?
123
- end
124
-
125
- # Basic w/ Default
126
-
127
- ######################################################################
128
-
129
- def test_create_basic_wd_default
130
- assert (object = BasicDefaultEnum.create)
131
- assert_equal :working, object.value, "Explicit default ignored columns"
132
- assert !object.new_record?
133
- end
134
-
135
- def test_create_basic_wd_good
136
- assert (object = BasicDefaultEnum.create(:value => :good))
137
- assert_equal :good, object.value
138
- assert !object.new_record?
139
- assert (object = BasicDefaultEnum.create(:value => :working))
140
- assert_equal :working, object.value
141
- assert !object.new_record?
142
- end
143
-
144
- def test_create_basic_wd_null
145
- assert (object = BasicDefaultEnum.create(:value => nil))
146
- assert_nil object.value
147
- assert !object.new_record?
148
- end
149
-
150
- def test_create_basic_wd_bad
151
- assert (object = BasicDefaultEnum.create(:value => :bad))
152
- assert object.new_record?
153
- end
154
-
155
-
156
-
157
- # Nonnull
158
-
159
- ######################################################################
160
-
161
- def test_create_nonnull_default
162
- assert (object = NonnullEnum.create)
163
- # assert_equal :good, object.value,
164
- # "Enum columns without explicit default, default to first value if null not allowed"
165
- assert object.new_record?
166
- end
167
-
168
- def test_create_nonnull_good
169
- assert (object = NonnullEnum.create(:value => :good))
170
- assert_equal :good, object.value
171
- assert !object.new_record?
172
- assert (object = NonnullEnum.create(:value => :working))
173
- assert_equal :working, object.value
174
- assert !object.new_record?
175
- end
176
-
177
- def test_create_nonnull_null
178
- assert (object = NonnullEnum.create(:value => nil))
179
- assert object.new_record?
180
- end
181
-
182
- def test_create_nonnull_bad
183
- assert (object = NonnullEnum.create(:value => :bad))
184
- assert object.new_record?
185
- end
186
-
187
- # Nonnull w/ Default
188
-
189
- ######################################################################
190
-
191
- def test_create_nonnull_wd_default
192
- assert (object = NonnullDefaultEnum.create)
193
- assert_equal :working, object.value
194
- assert !object.new_record?
195
- end
196
-
197
- def test_create_nonnull_wd_good
198
- assert (object = NonnullDefaultEnum.create(:value => :good))
199
- assert_equal :good, object.value
200
- assert !object.new_record?
201
- assert (object = NonnullDefaultEnum.create(:value => :working))
202
- assert_equal :working, object.value
203
- assert !object.new_record?
204
- end
205
-
206
- def test_create_nonnull_wd_null
207
- assert (object = NonnullDefaultEnum.create(:value => nil))
208
- assert object.new_record?
209
- end
210
-
211
- def test_create_nonnull_wd_bad
212
- assert (object = NonnullDefaultEnum.create(:value => :bad))
213
- assert object.new_record?
214
- end
215
-
216
- def test_quoting
217
- value = ActiveRecord::Base.send(:sanitize_sql, ["value = ? ", :"'" ] )
218
- assert_equal "value = '\\'' ", value
219
- end
220
- end