openbill 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (701) hide show
  1. data/.actionScriptProperties +26 -0
  2. data/.flexProperties +2 -0
  3. data/.gitignore +4 -0
  4. data/.loadpath +7 -0
  5. data/.project +24 -0
  6. data/CONTRIBUTORS +6 -0
  7. data/INSTALL +11 -0
  8. data/LICENSE +20 -20
  9. data/README +63 -63
  10. data/Rakefile +51 -0
  11. data/VERSION +1 -0
  12. data/app/controllers/application.rb +49 -0
  13. data/app/controllers/carts_controller.rb +226 -0
  14. data/app/controllers/products_controller.rb +19 -0
  15. data/app/controllers/sessions_controller.rb +39 -0
  16. data/app/controllers/settings_controller.rb +15 -0
  17. data/app/helpers/application_helper.rb +3 -0
  18. data/app/helpers/carts_helper.rb +5 -0
  19. data/app/helpers/products_helper.rb +2 -0
  20. data/app/helpers/sessions_helper.rb +2 -0
  21. data/app/helpers/settings_helper.rb +2 -0
  22. data/app/models/account.rb +16 -0
  23. data/app/models/billingcycle.rb +7 -0
  24. data/app/models/currency.rb +5 -0
  25. data/app/models/emailtemplate.rb +5 -0
  26. data/app/models/invoice.rb +13 -0
  27. data/app/models/invoicedetail.rb +8 -0
  28. data/app/models/option.rb +5 -0
  29. data/app/models/order.rb +7 -0
  30. data/app/models/orderdetail.rb +11 -0
  31. data/app/models/paymentgateway.rb +5 -0
  32. data/app/models/product.rb +10 -0
  33. data/app/models/registrar.rb +7 -0
  34. data/app/models/registrarlog.rb +6 -0
  35. data/app/models/role.rb +7 -0
  36. data/app/models/server.rb +5 -0
  37. data/app/models/serverlog.rb +6 -0
  38. data/app/models/setting.rb +6 -0
  39. data/app/models/tld.rb +9 -0
  40. data/app/models/transaction.rb +8 -0
  41. data/app/models/user.rb +68 -0
  42. data/app/models/user_mailer.rb +24 -0
  43. data/app/models/user_observer.rb +11 -0
  44. data/app/models/userfieldname.rb +8 -0
  45. data/app/models/userfieldvalue.rb +6 -0
  46. data/app/views/carts/_cart_details.html.erb +36 -0
  47. data/app/views/carts/_check_domain_availability.html.erb +7 -0
  48. data/app/views/carts/_loginbox.html.erb +33 -0
  49. data/app/views/carts/_new_domain_available.html.erb +14 -0
  50. data/app/views/carts/_new_domain_not_available.html.erb +10 -0
  51. data/app/views/carts/_orderinfobox.html.erb +1 -0
  52. data/app/views/carts/_product_details.html.erb +43 -0
  53. data/app/views/carts/_products_list.html.erb +22 -0
  54. data/app/views/carts/_signupbox.html.erb +51 -0
  55. data/app/views/carts/checkout.html.erb +22 -0
  56. data/app/views/carts/customer.html.erb +26 -0
  57. data/app/views/carts/order.html.erb +17 -0
  58. data/app/views/layouts/default.html.erb +43 -0
  59. data/app/views/user_mailer/activation.erb +3 -0
  60. data/app/views/user_mailer/signup_notification.erb +8 -0
  61. data/config/boot.rb +109 -0
  62. data/config/database.yml +20 -0
  63. data/config/environment.rb +76 -0
  64. data/config/environments/development.rb +17 -0
  65. data/config/environments/production.rb +24 -0
  66. data/config/environments/test.rb +22 -0
  67. data/config/initializers/inflections.rb +10 -0
  68. data/config/initializers/mime_types.rb +5 -0
  69. data/config/initializers/new_rails_defaults.rb +17 -0
  70. data/config/initializers/site_keys.rb +38 -0
  71. data/config/locales/en.yml +2 -0
  72. data/config/routes.rb +31 -0
  73. data/db/migrate/20090429095737_create_settings.rb +28 -0
  74. data/db/migrate/20090429102507_create_users.rb +25 -0
  75. data/db/migrate/20090429113405_create_accounts.rb +12 -0
  76. data/db/migrate/20090430091300_create_roles.rb +14 -0
  77. data/db/migrate/20090430103415_create_products.rb +24 -0
  78. data/db/migrate/20090509144706_create_sessions.rb +16 -0
  79. data/db/migrate/20090518070457_create_billingcycles.rb +15 -0
  80. data/db/migrate/20090518105551_create_orders.rb +13 -0
  81. data/db/migrate/20090518105611_create_invoices.rb +17 -0
  82. data/db/migrate/20090518105912_create_orderdetails.rb +24 -0
  83. data/db/migrate/20090518105931_create_invoicedetails.rb +14 -0
  84. data/db/migrate/20090519051441_create_servers.rb +14 -0
  85. data/db/migrate/20090519051509_create_registrars.rb +13 -0
  86. data/db/migrate/20090519051536_create_paymentgateways.rb +13 -0
  87. data/db/migrate/20090519052025_create_tlds.rb +15 -0
  88. data/db/migrate/20090519070149_create_transactions.rb +17 -0
  89. data/db/migrate/20090519070225_create_registrarlogs.rb +16 -0
  90. data/db/migrate/20090519070248_create_serverlogs.rb +16 -0
  91. data/db/migrate/20090519071741_create_emailtemplates.rb +18 -0
  92. data/db/migrate/20090519083539_create_currencies.rb +18 -0
  93. data/db/migrate/20090522102336_create_userfieldnames.rb +16 -0
  94. data/db/migrate/20090522102401_create_userfieldvalues.rb +14 -0
  95. data/db/migrate/20090526092119_create_options.rb +14 -0
  96. data/html-template/AC_OETags.js +292 -0
  97. data/html-template/history/history.css +6 -0
  98. data/html-template/history/history.js +662 -0
  99. data/html-template/history/historyFrame.html +29 -0
  100. data/html-template/index.template.html +121 -0
  101. data/html-template/playerProductInstall.swf +0 -0
  102. data/lib/authenticated_system.rb +189 -0
  103. data/lib/authenticated_test_helper.rb +11 -0
  104. data/lib/tasks/empty +0 -0
  105. data/openbill.gemspec +787 -0
  106. data/pkg/openbill-0.0.0.gem +0 -0
  107. data/pkg/openbill-0.1.3.gem +0 -0
  108. data/pkg/openbill-0.1.4.gem +0 -0
  109. data/public/404.html +30 -0
  110. data/public/422.html +30 -0
  111. data/public/500.html +33 -0
  112. data/public/AC_OETags.js +292 -0
  113. data/public/admin.html +121 -0
  114. data/public/admin.swf +0 -0
  115. data/public/assets/LoadingUndefinedSkin.swf +0 -0
  116. data/public/assets/UndefinedPersonalSkinLoad.swf +0 -0
  117. data/public/assets/blanc.png +0 -0
  118. data/public/assets/botones/Boton_dis.png +0 -0
  119. data/public/assets/botones/PopUpButton.png +0 -0
  120. data/public/assets/botones/PopUpButton1.png +0 -0
  121. data/public/assets/botones/PopUpButton2.png +0 -0
  122. data/public/assets/botones/PopUpButton_0.png +0 -0
  123. data/public/assets/botones/PopUpButton_1.png +0 -0
  124. data/public/assets/botones/PopUpButton_2.png +0 -0
  125. data/public/assets/botones/PopUpButton_dis.png +0 -0
  126. data/public/assets/botones/PopUpMenuButton.png +0 -0
  127. data/public/assets/botones/PopUpMenuButton1.png +0 -0
  128. data/public/assets/botones/PopUpMenuButton2.png +0 -0
  129. data/public/assets/botones/PopUpMenuButton_0.png +0 -0
  130. data/public/assets/botones/PopUpMenuButton_1.png +0 -0
  131. data/public/assets/botones/PopUpMenuButton_2.png +0 -0
  132. data/public/assets/botones/PopUpMenuButton_dis.png +0 -0
  133. data/public/assets/botones/Scroll_barra.png +0 -0
  134. data/public/assets/botones/Scroll_barra1.png +0 -0
  135. data/public/assets/botones/Scroll_barra2.png +0 -0
  136. data/public/assets/botones/Scroll_down.png +0 -0
  137. data/public/assets/botones/Scroll_down1.png +0 -0
  138. data/public/assets/botones/Scroll_fondo.png +0 -0
  139. data/public/assets/botones/Scroll_icon.png +0 -0
  140. data/public/assets/botones/Scroll_up.png +0 -0
  141. data/public/assets/botones/Scroll_up1.png +0 -0
  142. data/public/assets/botones/TabNavigator.png +0 -0
  143. data/public/assets/botones/TabNavigator1.png +0 -0
  144. data/public/assets/botones/TabNavigator2.png +0 -0
  145. data/public/assets/botones/TabNavigator3.png +0 -0
  146. data/public/assets/botones/Thumbs.db +0 -0
  147. data/public/assets/botones/accordion_backround.png +0 -0
  148. data/public/assets/botones/accordion_barra.png +0 -0
  149. data/public/assets/botones/accordion_barra1.png +0 -0
  150. data/public/assets/botones/accordion_barra2.png +0 -0
  151. data/public/assets/botones/accordion_barra3.png +0 -0
  152. data/public/assets/botones/adelante.png +0 -0
  153. data/public/assets/botones/adelante1.png +0 -0
  154. data/public/assets/botones/adelante2.png +0 -0
  155. data/public/assets/botones/adelante_dis.png +0 -0
  156. data/public/assets/botones/atras.png +0 -0
  157. data/public/assets/botones/atras1.png +0 -0
  158. data/public/assets/botones/atras2.png +0 -0
  159. data/public/assets/botones/atras_dis.png +0 -0
  160. data/public/assets/botones/barra.png +0 -0
  161. data/public/assets/botones/barra_dis.png +0 -0
  162. data/public/assets/botones/barra_v.png +0 -0
  163. data/public/assets/botones/boton.jpg +0 -0
  164. data/public/assets/botones/boton.png +0 -0
  165. data/public/assets/botones/boton1.png +0 -0
  166. data/public/assets/botones/boton2.png +0 -0
  167. data/public/assets/botones/boton_classic.png +0 -0
  168. data/public/assets/botones/boton_classic1.png +0 -0
  169. data/public/assets/botones/boton_classic2.png +0 -0
  170. data/public/assets/botones/bullet.png +0 -0
  171. data/public/assets/botones/bullet1.png +0 -0
  172. data/public/assets/botones/bullet_V_dis.png +0 -0
  173. data/public/assets/botones/bullet_dis.png +0 -0
  174. data/public/assets/botones/bullet_v.png +0 -0
  175. data/public/assets/botones/bullet_v1.png +0 -0
  176. data/public/assets/botones/chekOff.png +0 -0
  177. data/public/assets/botones/chekOff1.png +0 -0
  178. data/public/assets/botones/chekOff2.png +0 -0
  179. data/public/assets/botones/chekOn.png +0 -0
  180. data/public/assets/botones/chekOn1.png +0 -0
  181. data/public/assets/botones/chekOn2.png +0 -0
  182. data/public/assets/botones/chek_dis.png +0 -0
  183. data/public/assets/botones/close.png +0 -0
  184. data/public/assets/botones/close1.png +0 -0
  185. data/public/assets/botones/close2.png +0 -0
  186. data/public/assets/botones/close_folder.png +0 -0
  187. data/public/assets/botones/colorPicker.png +0 -0
  188. data/public/assets/botones/colorPicker1.png +0 -0
  189. data/public/assets/botones/colorPicker2.png +0 -0
  190. data/public/assets/botones/colorPicker_blanco.png +0 -0
  191. data/public/assets/botones/colorPicker_blanco1.png +0 -0
  192. data/public/assets/botones/colorPicker_blanco2.png +0 -0
  193. data/public/assets/botones/colorPicker_dis.png +0 -0
  194. data/public/assets/botones/combo.png +0 -0
  195. data/public/assets/botones/combo1.png +0 -0
  196. data/public/assets/botones/combo2.png +0 -0
  197. data/public/assets/botones/combo_dis.png +0 -0
  198. data/public/assets/botones/dataIcon.png +0 -0
  199. data/public/assets/botones/dataIcon1.png +0 -0
  200. data/public/assets/botones/dataIcon2.png +0 -0
  201. data/public/assets/botones/dataIcon_dis.png +0 -0
  202. data/public/assets/botones/dataText.png +0 -0
  203. data/public/assets/botones/folder_close.png +0 -0
  204. data/public/assets/botones/folder_open.png +0 -0
  205. data/public/assets/botones/hoja.png +0 -0
  206. data/public/assets/botones/icon_down.png +0 -0
  207. data/public/assets/botones/icon_up.png +0 -0
  208. data/public/assets/botones/last_toggle.png +0 -0
  209. data/public/assets/botones/last_toggle1.png +0 -0
  210. data/public/assets/botones/last_toggle2.png +0 -0
  211. data/public/assets/botones/last_toggle3.png +0 -0
  212. data/public/assets/botones/numericStepper_Down.png +0 -0
  213. data/public/assets/botones/numericStepper_Down1.png +0 -0
  214. data/public/assets/botones/numericStepper_Down2.png +0 -0
  215. data/public/assets/botones/numericStepper_Down_dis.png +0 -0
  216. data/public/assets/botones/numericStepper_Text.png +0 -0
  217. data/public/assets/botones/numericStepper_Up.png +0 -0
  218. data/public/assets/botones/numericStepper_Up1.png +0 -0
  219. data/public/assets/botones/numericStepper_Up2.png +0 -0
  220. data/public/assets/botones/numericStepper_Up_dis.png +0 -0
  221. data/public/assets/botones/open_folder.png +0 -0
  222. data/public/assets/botones/prev_toggle.png +0 -0
  223. data/public/assets/botones/prev_toggle1.png +0 -0
  224. data/public/assets/botones/prev_toggle2.png +0 -0
  225. data/public/assets/botones/prev_toggle3.png +0 -0
  226. data/public/assets/botones/progress.png +0 -0
  227. data/public/assets/botones/progress_barra.png +0 -0
  228. data/public/assets/botones/progress_charning.png +0 -0
  229. data/public/assets/botones/progress_dis.png +0 -0
  230. data/public/assets/botones/radio.png +0 -0
  231. data/public/assets/botones/radio1.png +0 -0
  232. data/public/assets/botones/radio2.png +0 -0
  233. data/public/assets/botones/radio3.png +0 -0
  234. data/public/assets/botones/radio4.png +0 -0
  235. data/public/assets/botones/radio_dis.png +0 -0
  236. data/public/assets/botones/seleccionData.png +0 -0
  237. data/public/assets/botones/seleccionDataSelected.png +0 -0
  238. data/public/assets/botones/seleccionDataUp.png +0 -0
  239. data/public/assets/botones/textArea.png +0 -0
  240. data/public/assets/botones/textInput.png +0 -0
  241. data/public/assets/botones/textInput_error.png +0 -0
  242. data/public/assets/botones/textInput_no.png +0 -0
  243. data/public/assets/botones/toggle_medio.png +0 -0
  244. data/public/assets/botones/toggle_medio1.png +0 -0
  245. data/public/assets/botones/toggle_medio2.png +0 -0
  246. data/public/assets/botones/toggle_medio3.png +0 -0
  247. data/public/assets/botones/toolTip.png +0 -0
  248. data/public/assets/general/Fondo4.jpg +0 -0
  249. data/public/assets/general/Fondo5.jpg +0 -0
  250. data/public/assets/general/MenuItem.png +0 -0
  251. data/public/assets/general/MenuItem1.png +0 -0
  252. data/public/assets/general/Thumbs.db +0 -0
  253. data/public/assets/general/alert_fondo.png +0 -0
  254. data/public/assets/general/alert_fondo1.png +0 -0
  255. data/public/assets/general/alert_titulo.png +0 -0
  256. data/public/assets/general/alert_titulo1.png +0 -0
  257. data/public/assets/general/blanc.png +0 -0
  258. data/public/assets/general/fondo.jpg +0 -0
  259. data/public/assets/general/fondo1.jpg +0 -0
  260. data/public/assets/general/fondo2.jpg +0 -0
  261. data/public/assets/general/fondo3.jpg +0 -0
  262. data/public/assets/general/fondo_list.png +0 -0
  263. data/public/assets/general/menu.png +0 -0
  264. data/public/assets/general/panel.png +0 -0
  265. data/public/assets/general/separator.png +0 -0
  266. data/public/assets/general/titleWindow.png +0 -0
  267. data/public/assets/general/titleWindow1.png +0 -0
  268. data/public/assets/icons/Thumbs.db +0 -0
  269. data/public/assets/icons/ai.jpg +0 -0
  270. data/public/assets/icons/air.jpg +0 -0
  271. data/public/assets/icons/fl.jpg +0 -0
  272. data/public/assets/icons/fw.jpg +0 -0
  273. data/public/assets/icons/fx.jpg +0 -0
  274. data/public/assets/icons/ps.jpg +0 -0
  275. data/public/assets/scroll/Thumbs.db +0 -0
  276. data/public/assets/scroll/barra.png +0 -0
  277. data/public/assets/scroll/barra1.png +0 -0
  278. data/public/assets/scroll/barra2.png +0 -0
  279. data/public/assets/scroll/barra_1.png +0 -0
  280. data/public/assets/scroll/barra_2.png +0 -0
  281. data/public/assets/scroll/down.png +0 -0
  282. data/public/assets/scroll/down1.png +0 -0
  283. data/public/assets/scroll/down_1.png +0 -0
  284. data/public/assets/scroll/down_2.png +0 -0
  285. data/public/assets/scroll/fondo.png +0 -0
  286. data/public/assets/scroll/fondo_1.png +0 -0
  287. data/public/assets/scroll/fondo_2.png +0 -0
  288. data/public/assets/scroll/up.png +0 -0
  289. data/public/assets/scroll/up1.png +0 -0
  290. data/public/assets/scroll/up_1.png +0 -0
  291. data/public/assets/scroll/up_2.png +0 -0
  292. data/public/assets/xml/listData.xml +21 -0
  293. data/public/dispatch.cgi +10 -0
  294. data/public/dispatch.fcgi +24 -0
  295. data/public/dispatch.rb +10 -0
  296. data/public/favicon.ico +0 -0
  297. data/public/framework_3.0.0.477.swf +0 -0
  298. data/public/framework_3.0.0.477.swz +0 -0
  299. data/public/history/history.css +6 -0
  300. data/public/history/history.js +662 -0
  301. data/public/history/historyFrame.html +29 -0
  302. data/public/images/avatar.png +0 -0
  303. data/public/images/logo.png +0 -0
  304. data/public/images/rails.png +0 -0
  305. data/public/images/spinner.gif +0 -0
  306. data/public/index.html +1 -0
  307. data/public/javascripts/application.js +2 -0
  308. data/public/javascripts/controls.js +963 -0
  309. data/public/javascripts/dragdrop.js +973 -0
  310. data/public/javascripts/effects.js +1128 -0
  311. data/public/javascripts/jquery-1.3.min.js +19 -0
  312. data/public/javascripts/jquery.localscroll.js +104 -0
  313. data/public/javascripts/jquery.scrollTo.js +150 -0
  314. data/public/javascripts/prototype.js +4320 -0
  315. data/public/playerProductInstall.swf +0 -0
  316. data/public/robots.txt +5 -0
  317. data/public/stylesheets/base.css +336 -0
  318. data/public/stylesheets/darkroom.css +1374 -0
  319. data/public/stylesheets/darkroom.swf +0 -0
  320. data/public/stylesheets/default.css +1034 -0
  321. data/public/stylesheets/myriad.swf +0 -0
  322. data/public/stylesheets/scaffold.css +54 -0
  323. data/public/stylesheets/themes/bec/style.css +301 -0
  324. data/public/stylesheets/themes/bec-green/style.css +290 -0
  325. data/public/stylesheets/themes/blue/style.css +280 -0
  326. data/public/stylesheets/themes/default/style.css +267 -0
  327. data/public/stylesheets/themes/djime-cerulean/style.css +298 -0
  328. data/public/stylesheets/themes/kathleene/style.css +272 -0
  329. data/public/stylesheets/themes/openbill/style.css +272 -0
  330. data/public/stylesheets/themes/orange/style.css +263 -0
  331. data/public/stylesheets/themes/reidb-greenish/style.css +301 -0
  332. data/rdoc/empty +0 -0
  333. data/rdoc/logo.max +0 -0
  334. data/rdoc/logo.png +0 -0
  335. data/script/about +4 -0
  336. data/script/console +3 -0
  337. data/script/dbconsole +3 -0
  338. data/script/destroy +3 -0
  339. data/script/generate +3 -0
  340. data/script/performance/benchmarker +3 -0
  341. data/script/performance/profiler +3 -0
  342. data/script/performance/request +3 -0
  343. data/script/plugin +3 -0
  344. data/script/process/inspector +3 -0
  345. data/script/process/reaper +3 -0
  346. data/script/process/spawner +3 -0
  347. data/script/runner +3 -0
  348. data/script/server +3 -0
  349. data/src/admin.mxml +62 -0
  350. data/src/assets/LoadingUndefinedSkin.swf +0 -0
  351. data/src/assets/UndefinedPersonalSkinLoad.swf +0 -0
  352. data/src/assets/blanc.png +0 -0
  353. data/src/assets/botones/Boton_dis.png +0 -0
  354. data/src/assets/botones/PopUpButton.png +0 -0
  355. data/src/assets/botones/PopUpButton1.png +0 -0
  356. data/src/assets/botones/PopUpButton2.png +0 -0
  357. data/src/assets/botones/PopUpButton_0.png +0 -0
  358. data/src/assets/botones/PopUpButton_1.png +0 -0
  359. data/src/assets/botones/PopUpButton_2.png +0 -0
  360. data/src/assets/botones/PopUpButton_dis.png +0 -0
  361. data/src/assets/botones/PopUpMenuButton.png +0 -0
  362. data/src/assets/botones/PopUpMenuButton1.png +0 -0
  363. data/src/assets/botones/PopUpMenuButton2.png +0 -0
  364. data/src/assets/botones/PopUpMenuButton_0.png +0 -0
  365. data/src/assets/botones/PopUpMenuButton_1.png +0 -0
  366. data/src/assets/botones/PopUpMenuButton_2.png +0 -0
  367. data/src/assets/botones/PopUpMenuButton_dis.png +0 -0
  368. data/src/assets/botones/Scroll_barra.png +0 -0
  369. data/src/assets/botones/Scroll_barra1.png +0 -0
  370. data/src/assets/botones/Scroll_barra2.png +0 -0
  371. data/src/assets/botones/Scroll_down.png +0 -0
  372. data/src/assets/botones/Scroll_down1.png +0 -0
  373. data/src/assets/botones/Scroll_fondo.png +0 -0
  374. data/src/assets/botones/Scroll_icon.png +0 -0
  375. data/src/assets/botones/Scroll_up.png +0 -0
  376. data/src/assets/botones/Scroll_up1.png +0 -0
  377. data/src/assets/botones/TabNavigator.png +0 -0
  378. data/src/assets/botones/TabNavigator1.png +0 -0
  379. data/src/assets/botones/TabNavigator2.png +0 -0
  380. data/src/assets/botones/TabNavigator3.png +0 -0
  381. data/src/assets/botones/Thumbs.db +0 -0
  382. data/src/assets/botones/accordion_backround.png +0 -0
  383. data/src/assets/botones/accordion_barra.png +0 -0
  384. data/src/assets/botones/accordion_barra1.png +0 -0
  385. data/src/assets/botones/accordion_barra2.png +0 -0
  386. data/src/assets/botones/accordion_barra3.png +0 -0
  387. data/src/assets/botones/adelante.png +0 -0
  388. data/src/assets/botones/adelante1.png +0 -0
  389. data/src/assets/botones/adelante2.png +0 -0
  390. data/src/assets/botones/adelante_dis.png +0 -0
  391. data/src/assets/botones/atras.png +0 -0
  392. data/src/assets/botones/atras1.png +0 -0
  393. data/src/assets/botones/atras2.png +0 -0
  394. data/src/assets/botones/atras_dis.png +0 -0
  395. data/src/assets/botones/barra.png +0 -0
  396. data/src/assets/botones/barra_dis.png +0 -0
  397. data/src/assets/botones/barra_v.png +0 -0
  398. data/src/assets/botones/boton.jpg +0 -0
  399. data/src/assets/botones/boton.png +0 -0
  400. data/src/assets/botones/boton1.png +0 -0
  401. data/src/assets/botones/boton2.png +0 -0
  402. data/src/assets/botones/boton_classic.png +0 -0
  403. data/src/assets/botones/boton_classic1.png +0 -0
  404. data/src/assets/botones/boton_classic2.png +0 -0
  405. data/src/assets/botones/bullet.png +0 -0
  406. data/src/assets/botones/bullet1.png +0 -0
  407. data/src/assets/botones/bullet_V_dis.png +0 -0
  408. data/src/assets/botones/bullet_dis.png +0 -0
  409. data/src/assets/botones/bullet_v.png +0 -0
  410. data/src/assets/botones/bullet_v1.png +0 -0
  411. data/src/assets/botones/chekOff.png +0 -0
  412. data/src/assets/botones/chekOff1.png +0 -0
  413. data/src/assets/botones/chekOff2.png +0 -0
  414. data/src/assets/botones/chekOn.png +0 -0
  415. data/src/assets/botones/chekOn1.png +0 -0
  416. data/src/assets/botones/chekOn2.png +0 -0
  417. data/src/assets/botones/chek_dis.png +0 -0
  418. data/src/assets/botones/close.png +0 -0
  419. data/src/assets/botones/close1.png +0 -0
  420. data/src/assets/botones/close2.png +0 -0
  421. data/src/assets/botones/close_folder.png +0 -0
  422. data/src/assets/botones/colorPicker.png +0 -0
  423. data/src/assets/botones/colorPicker1.png +0 -0
  424. data/src/assets/botones/colorPicker2.png +0 -0
  425. data/src/assets/botones/colorPicker_blanco.png +0 -0
  426. data/src/assets/botones/colorPicker_blanco1.png +0 -0
  427. data/src/assets/botones/colorPicker_blanco2.png +0 -0
  428. data/src/assets/botones/colorPicker_dis.png +0 -0
  429. data/src/assets/botones/combo.png +0 -0
  430. data/src/assets/botones/combo1.png +0 -0
  431. data/src/assets/botones/combo2.png +0 -0
  432. data/src/assets/botones/combo_dis.png +0 -0
  433. data/src/assets/botones/dataIcon.png +0 -0
  434. data/src/assets/botones/dataIcon1.png +0 -0
  435. data/src/assets/botones/dataIcon2.png +0 -0
  436. data/src/assets/botones/dataIcon_dis.png +0 -0
  437. data/src/assets/botones/dataText.png +0 -0
  438. data/src/assets/botones/folder_close.png +0 -0
  439. data/src/assets/botones/folder_open.png +0 -0
  440. data/src/assets/botones/hoja.png +0 -0
  441. data/src/assets/botones/icon_down.png +0 -0
  442. data/src/assets/botones/icon_up.png +0 -0
  443. data/src/assets/botones/last_toggle.png +0 -0
  444. data/src/assets/botones/last_toggle1.png +0 -0
  445. data/src/assets/botones/last_toggle2.png +0 -0
  446. data/src/assets/botones/last_toggle3.png +0 -0
  447. data/src/assets/botones/numericStepper_Down.png +0 -0
  448. data/src/assets/botones/numericStepper_Down1.png +0 -0
  449. data/src/assets/botones/numericStepper_Down2.png +0 -0
  450. data/src/assets/botones/numericStepper_Down_dis.png +0 -0
  451. data/src/assets/botones/numericStepper_Text.png +0 -0
  452. data/src/assets/botones/numericStepper_Up.png +0 -0
  453. data/src/assets/botones/numericStepper_Up1.png +0 -0
  454. data/src/assets/botones/numericStepper_Up2.png +0 -0
  455. data/src/assets/botones/numericStepper_Up_dis.png +0 -0
  456. data/src/assets/botones/open_folder.png +0 -0
  457. data/src/assets/botones/prev_toggle.png +0 -0
  458. data/src/assets/botones/prev_toggle1.png +0 -0
  459. data/src/assets/botones/prev_toggle2.png +0 -0
  460. data/src/assets/botones/prev_toggle3.png +0 -0
  461. data/src/assets/botones/progress.png +0 -0
  462. data/src/assets/botones/progress_barra.png +0 -0
  463. data/src/assets/botones/progress_charning.png +0 -0
  464. data/src/assets/botones/progress_dis.png +0 -0
  465. data/src/assets/botones/radio.png +0 -0
  466. data/src/assets/botones/radio1.png +0 -0
  467. data/src/assets/botones/radio2.png +0 -0
  468. data/src/assets/botones/radio3.png +0 -0
  469. data/src/assets/botones/radio4.png +0 -0
  470. data/src/assets/botones/radio_dis.png +0 -0
  471. data/src/assets/botones/seleccionData.png +0 -0
  472. data/src/assets/botones/seleccionDataSelected.png +0 -0
  473. data/src/assets/botones/seleccionDataUp.png +0 -0
  474. data/src/assets/botones/textArea.png +0 -0
  475. data/src/assets/botones/textInput.png +0 -0
  476. data/src/assets/botones/textInput_error.png +0 -0
  477. data/src/assets/botones/textInput_no.png +0 -0
  478. data/src/assets/botones/toggle_medio.png +0 -0
  479. data/src/assets/botones/toggle_medio1.png +0 -0
  480. data/src/assets/botones/toggle_medio2.png +0 -0
  481. data/src/assets/botones/toggle_medio3.png +0 -0
  482. data/src/assets/botones/toolTip.png +0 -0
  483. data/src/assets/general/Fondo4.jpg +0 -0
  484. data/src/assets/general/Fondo5.jpg +0 -0
  485. data/src/assets/general/MenuItem.png +0 -0
  486. data/src/assets/general/MenuItem1.png +0 -0
  487. data/src/assets/general/Thumbs.db +0 -0
  488. data/src/assets/general/alert_fondo.png +0 -0
  489. data/src/assets/general/alert_fondo1.png +0 -0
  490. data/src/assets/general/alert_titulo.png +0 -0
  491. data/src/assets/general/alert_titulo1.png +0 -0
  492. data/src/assets/general/blanc.png +0 -0
  493. data/src/assets/general/fondo.jpg +0 -0
  494. data/src/assets/general/fondo1.jpg +0 -0
  495. data/src/assets/general/fondo2.jpg +0 -0
  496. data/src/assets/general/fondo3.jpg +0 -0
  497. data/src/assets/general/fondo_list.png +0 -0
  498. data/src/assets/general/menu.png +0 -0
  499. data/src/assets/general/panel.png +0 -0
  500. data/src/assets/general/separator.png +0 -0
  501. data/src/assets/general/titleWindow.png +0 -0
  502. data/src/assets/general/titleWindow1.png +0 -0
  503. data/src/assets/icons/Thumbs.db +0 -0
  504. data/src/assets/icons/ai.jpg +0 -0
  505. data/src/assets/icons/air.jpg +0 -0
  506. data/src/assets/icons/fl.jpg +0 -0
  507. data/src/assets/icons/fw.jpg +0 -0
  508. data/src/assets/icons/fx.jpg +0 -0
  509. data/src/assets/icons/ps.jpg +0 -0
  510. data/src/assets/programmatic/BigThumbClass.as +14 -0
  511. data/src/assets/programmatic/CustomPreloader.as +79 -0
  512. data/src/assets/programmatic/MyDateField.as +22 -0
  513. data/src/assets/scroll/Thumbs.db +0 -0
  514. data/src/assets/scroll/barra.png +0 -0
  515. data/src/assets/scroll/barra1.png +0 -0
  516. data/src/assets/scroll/barra2.png +0 -0
  517. data/src/assets/scroll/barra_1.png +0 -0
  518. data/src/assets/scroll/barra_2.png +0 -0
  519. data/src/assets/scroll/down.png +0 -0
  520. data/src/assets/scroll/down1.png +0 -0
  521. data/src/assets/scroll/down_1.png +0 -0
  522. data/src/assets/scroll/down_2.png +0 -0
  523. data/src/assets/scroll/fondo.png +0 -0
  524. data/src/assets/scroll/fondo_1.png +0 -0
  525. data/src/assets/scroll/fondo_2.png +0 -0
  526. data/src/assets/scroll/up.png +0 -0
  527. data/src/assets/scroll/up1.png +0 -0
  528. data/src/assets/scroll/up_1.png +0 -0
  529. data/src/assets/scroll/up_2.png +0 -0
  530. data/src/assets/xml/listData.xml +21 -0
  531. data/src/images/logo.png +0 -0
  532. data/src/libs/Cairngorm.swc +0 -0
  533. data/src/libs/flexlib.swc +0 -0
  534. data/src/org/rsos/openbill/business/RailsDelegate.as +109 -0
  535. data/src/org/rsos/openbill/business/Services.mxml +15 -0
  536. data/src/org/rsos/openbill/command/FpCommand.as +44 -0
  537. data/src/org/rsos/openbill/command/LoginCommand.as +52 -0
  538. data/src/org/rsos/openbill/command/LogoutCommand.as +43 -0
  539. data/src/org/rsos/openbill/command/ProductCommand.as +49 -0
  540. data/src/org/rsos/openbill/command/SettingCommand.as +39 -0
  541. data/src/org/rsos/openbill/control/OpenbillController.as +25 -0
  542. data/src/org/rsos/openbill/event/FpEvent.as +29 -0
  543. data/src/org/rsos/openbill/event/LoginEvent.as +29 -0
  544. data/src/org/rsos/openbill/event/LogoutEvent.as +26 -0
  545. data/src/org/rsos/openbill/event/ProductEvent.as +29 -0
  546. data/src/org/rsos/openbill/event/SettingEvent.as +29 -0
  547. data/src/org/rsos/openbill/model/OpenbillModelLocator.as +188 -0
  548. data/src/org/rsos/openbill/util/ValueObjectUtil.as +19 -0
  549. data/src/org/rsos/openbill/view/Content.mxml +4 -0
  550. data/src/org/rsos/openbill/view/Footer.mxml +25 -0
  551. data/src/org/rsos/openbill/view/Header.mxml +31 -0
  552. data/src/org/rsos/openbill/view/Product.mxml +82 -0
  553. data/src/org/rsos/openbill/view/Setting.mxml +111 -0
  554. data/src/org/rsos/openbill/view/SignIn.mxml +67 -0
  555. data/src/org/rsos/openbill/vo/AccountVO.as +13 -0
  556. data/src/org/rsos/openbill/vo/CurrencyVO.as +18 -0
  557. data/src/org/rsos/openbill/vo/ProductVO.as +17 -0
  558. data/src/org/rsos/openbill/vo/RoleVO.as +14 -0
  559. data/src/org/rsos/openbill/vo/SettingVO.as +29 -0
  560. data/src/org/rsos/openbill/vo/UserVO.as +18 -0
  561. data/src/stylesheets/darkroom.css +1374 -0
  562. data/src/stylesheets/darkroom.swf +0 -0
  563. data/src/stylesheets/default.css +1034 -0
  564. data/src/stylesheets/myriad.swf +0 -0
  565. data/test/fixtures/accounts.yml +3 -0
  566. data/test/fixtures/billingcycles.yml +41 -0
  567. data/test/fixtures/currencies.yml +11 -0
  568. data/test/fixtures/emailtemplates.yml +8 -0
  569. data/test/fixtures/invoicedetails.yml +0 -0
  570. data/test/fixtures/invoices.yml +0 -0
  571. data/test/fixtures/options.yml +0 -0
  572. data/test/fixtures/orderdetails.yml +0 -0
  573. data/test/fixtures/orders.yml +0 -0
  574. data/test/fixtures/paymentgateways.yml +0 -0
  575. data/test/fixtures/products.yml +40 -0
  576. data/test/fixtures/registrarlogs.yml +0 -0
  577. data/test/fixtures/registrars.yml +4 -0
  578. data/test/fixtures/roles.yml +19 -0
  579. data/test/fixtures/serverlogs.yml +0 -0
  580. data/test/fixtures/servers.yml +0 -0
  581. data/test/fixtures/settings.yml +7 -0
  582. data/test/fixtures/tlds.yml +17 -0
  583. data/test/fixtures/transactions.yml +0 -0
  584. data/test/fixtures/userfieldnames.yml +9 -0
  585. data/test/fixtures/userfieldvalues.yml +11 -0
  586. data/test/fixtures/users.yml +28 -0
  587. data/test/functional/products_controller_test.rb +8 -8
  588. data/test/functional/sessions_controller_test.rb +8 -8
  589. data/test/functional/settings_controller_test.rb +8 -8
  590. data/test/integration/empty +0 -0
  591. data/test/unit/user_mailer_test.rb +7 -7
  592. data/test/unit/user_test.rb +7 -7
  593. data/vendor/generators/cairngorm/USAGE +7 -0
  594. data/vendor/generators/cairngorm/cairngorm_generator.rb +23 -0
  595. data/vendor/generators/cairngorm/templates/Controller_template.as +20 -0
  596. data/vendor/generators/cairngorm/templates/ModelLocator_template.as +29 -0
  597. data/vendor/generators/cairngorm/templates/Services_template.mxml +8 -0
  598. data/vendor/generators/cairngorm/templates/ValueObjectUtil_template.as +19 -0
  599. data/vendor/generators/cairngorm/templates/main_template.mxml +27 -0
  600. data/vendor/generators/command/USAGE +10 -0
  601. data/vendor/generators/command/command_generator.rb +8 -0
  602. data/vendor/generators/command/templates/command_template.as +39 -0
  603. data/vendor/generators/command/templates/event_template.as +26 -0
  604. data/vendor/generators/delegate/USAGE +8 -0
  605. data/vendor/generators/delegate/delegate_generator.rb +7 -0
  606. data/vendor/generators/delegate/templates/delegate_template.as +26 -0
  607. data/vendor/generators/event/USAGE +8 -0
  608. data/vendor/generators/event/event_generator.rb +7 -0
  609. data/vendor/generators/event/templates/event_template.as +26 -0
  610. data/vendor/generators/vo/USAGE +9 -0
  611. data/vendor/generators/vo/templates/vo_template.as +18 -0
  612. data/vendor/generators/vo/vo_generator.rb +7 -0
  613. data/vendor/generators/worbservice/USAGE +8 -0
  614. data/vendor/generators/worbservice/templates/service.rb +11 -0
  615. data/vendor/generators/worbservice/worbservice_generator.rb +7 -0
  616. data/vendor/plugins/enum-column/init.rb +9 -0
  617. data/vendor/plugins/enum-column/lib/enum/active_record_helper.rb +107 -0
  618. data/vendor/plugins/enum-column/lib/enum/enum_adapter.rb +76 -0
  619. data/vendor/plugins/enum-column/lib/enum/mysql_adapter.rb +33 -0
  620. data/vendor/plugins/enum-column/lib/enum/postgresql_adapter.rb +64 -0
  621. data/vendor/plugins/enum-column/lib/enum/quoting.rb +17 -0
  622. data/vendor/plugins/enum-column/lib/enum/schema_definitions.rb +12 -0
  623. data/vendor/plugins/enum-column/lib/enum/schema_statements.rb +32 -0
  624. data/vendor/plugins/enum-column/lib/enum/sqlite3_adapter.rb +52 -0
  625. data/vendor/plugins/enum-column/lib/enum/validations.rb +40 -0
  626. data/vendor/plugins/enum-column/readme.html +125 -0
  627. data/vendor/plugins/enum-column/test/db/schema.rb +28 -0
  628. data/vendor/plugins/enum-column/test/enum_mysql_test.rb +220 -0
  629. data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.drop.sql +32 -0
  630. data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.sql +244 -0
  631. data/vendor/plugins/enum-column/test/fixtures/enumeration.rb +20 -0
  632. data/vendor/plugins/enum-column/test/test_helper.rb +18 -0
  633. data/vendor/plugins/restful-authentication/.gitignore +21 -0
  634. data/vendor/plugins/restful-authentication/CHANGELOG +68 -0
  635. data/vendor/plugins/restful-authentication/LICENSE +20 -0
  636. data/vendor/plugins/restful-authentication/README.textile +224 -0
  637. data/vendor/plugins/restful-authentication/Rakefile +32 -0
  638. data/vendor/plugins/restful-authentication/TODO +15 -0
  639. data/vendor/plugins/restful-authentication/generators/authenticated/USAGE +1 -0
  640. data/vendor/plugins/restful-authentication/generators/authenticated/authenticated_generator.rb +478 -0
  641. data/vendor/plugins/restful-authentication/generators/authenticated/lib/insert_routes.rb +54 -0
  642. data/vendor/plugins/restful-authentication/generators/authenticated/templates/_model_partial.html.erb +8 -0
  643. data/vendor/plugins/restful-authentication/generators/authenticated/templates/activation.erb +3 -0
  644. data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_system.rb +189 -0
  645. data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_test_helper.rb +22 -0
  646. data/vendor/plugins/restful-authentication/generators/authenticated/templates/controller.rb +43 -0
  647. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/accounts.feature +109 -0
  648. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/sessions.feature +134 -0
  649. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_env.rb +9 -0
  650. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_navigation_steps.rb +48 -0
  651. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_resource_steps.rb +178 -0
  652. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_response_steps.rb +169 -0
  653. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/rest_auth_features_helper.rb +81 -0
  654. data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/user_steps.rb +131 -0
  655. data/vendor/plugins/restful-authentication/generators/authenticated/templates/helper.rb +2 -0
  656. data/vendor/plugins/restful-authentication/generators/authenticated/templates/login.html.erb +16 -0
  657. data/vendor/plugins/restful-authentication/generators/authenticated/templates/mailer.rb +25 -0
  658. data/vendor/plugins/restful-authentication/generators/authenticated/templates/migration.rb +26 -0
  659. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model.rb +83 -0
  660. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_controller.rb +85 -0
  661. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper.rb +93 -0
  662. data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper_spec.rb +158 -0
  663. data/vendor/plugins/restful-authentication/generators/authenticated/templates/observer.rb +11 -0
  664. data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup.html.erb +19 -0
  665. data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup_notification.erb +8 -0
  666. data/vendor/plugins/restful-authentication/generators/authenticated/templates/site_keys.rb +38 -0
  667. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/access_control_spec.rb +90 -0
  668. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/authenticated_system_spec.rb +102 -0
  669. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/sessions_controller_spec.rb +139 -0
  670. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/users_controller_spec.rb +198 -0
  671. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/fixtures/users.yml +60 -0
  672. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/helpers/users_helper_spec.rb +141 -0
  673. data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/models/user_spec.rb +290 -0
  674. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/functional_test.rb +82 -0
  675. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/mailer_test.rb +31 -0
  676. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/model_functional_test.rb +93 -0
  677. data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/unit_test.rb +164 -0
  678. data/vendor/plugins/restful-authentication/init.rb +1 -0
  679. data/vendor/plugins/restful-authentication/lib/authentication/by_cookie_token.rb +82 -0
  680. data/vendor/plugins/restful-authentication/lib/authentication/by_password.rb +64 -0
  681. data/vendor/plugins/restful-authentication/lib/authentication.rb +40 -0
  682. data/vendor/plugins/restful-authentication/lib/authorization/aasm_roles.rb +63 -0
  683. data/vendor/plugins/restful-authentication/lib/authorization/stateful_roles.rb +62 -0
  684. data/vendor/plugins/restful-authentication/lib/authorization.rb +14 -0
  685. data/vendor/plugins/restful-authentication/lib/trustification/email_validation.rb +20 -0
  686. data/vendor/plugins/restful-authentication/lib/trustification.rb +14 -0
  687. data/vendor/plugins/restful-authentication/notes/AccessControl.txt +2 -0
  688. data/vendor/plugins/restful-authentication/notes/Authentication.txt +5 -0
  689. data/vendor/plugins/restful-authentication/notes/Authorization.txt +154 -0
  690. data/vendor/plugins/restful-authentication/notes/RailsPlugins.txt +78 -0
  691. data/vendor/plugins/restful-authentication/notes/SecurityFramework.graffle +0 -0
  692. data/vendor/plugins/restful-authentication/notes/SecurityFramework.png +0 -0
  693. data/vendor/plugins/restful-authentication/notes/SecurityPatterns.txt +163 -0
  694. data/vendor/plugins/restful-authentication/notes/Tradeoffs.txt +126 -0
  695. data/vendor/plugins/restful-authentication/notes/Trustification.txt +49 -0
  696. data/vendor/plugins/restful-authentication/rails/init.rb +3 -0
  697. data/vendor/plugins/restful-authentication/restful-authentication.gemspec +33 -0
  698. data/vendor/plugins/restful-authentication/tasks/auth.rake +33 -0
  699. data/vendor/plugins/ruby-enom/README.markdown +37 -0
  700. data/vendor/plugins/ruby-enom/ruby-enom.rb +198 -0
  701. metadata +729 -8
@@ -0,0 +1,43 @@
1
+ package org.rsos.openbill.command
2
+ {
3
+ /* add to controller
4
+ addCommand( LogoutEvent.EVENT_LOGOUT, LogoutCommand );
5
+ */
6
+ import com.adobe.cairngorm.commands.ICommand;
7
+ import com.adobe.cairngorm.control.CairngormEvent;
8
+
9
+ import mx.controls.Alert;
10
+ import mx.rpc.IResponder;
11
+ import mx.rpc.events.FaultEvent;
12
+
13
+ import org.rsos.openbill.business.RailsDelegate;
14
+ import org.rsos.openbill.model.OpenbillModelLocator;
15
+ import org.rsos.openbill.vo.UserVO;
16
+
17
+ import mx.core.Application;
18
+
19
+ public class LogoutCommand implements ICommand, IResponder
20
+ {
21
+ public function execute(event:CairngormEvent):void
22
+ {
23
+ var delegate : RailsDelegate = new RailsDelegate( this )
24
+
25
+ delegate.logout()
26
+
27
+ }
28
+
29
+ public function result(data:Object):void
30
+ {
31
+ var model : OpenbillModelLocator = OpenbillModelLocator.getInstance();
32
+ model.userVO = new UserVO();
33
+ model.askforlogin(Application.application);
34
+ }
35
+
36
+ public function fault(info:Object):void
37
+ {
38
+ var faultEvent :FaultEvent = FaultEvent( info );
39
+ Alert.show( "fault at logout" );
40
+ }
41
+
42
+ }
43
+ }
@@ -0,0 +1,49 @@
1
+ package org.rsos.openbill.command
2
+ {
3
+ /* add to controller
4
+ addCommand( ProductEvent.EVENT_PRODUCT, ProductCommand );
5
+ */
6
+ import com.adobe.cairngorm.commands.ICommand;
7
+ import com.adobe.cairngorm.control.CairngormEvent;
8
+
9
+ import mx.controls.Alert;
10
+ import mx.rpc.IResponder;
11
+ import mx.rpc.events.FaultEvent;
12
+
13
+ import org.rsos.openbill.business.RailsDelegate;
14
+ import org.rsos.openbill.event.ProductEvent;
15
+ import org.rsos.openbill.model.OpenbillModelLocator;
16
+
17
+ public class ProductCommand implements ICommand, IResponder
18
+ {
19
+ public function execute(event:CairngormEvent):void
20
+ {
21
+ var delegate : RailsDelegate = new RailsDelegate( this )
22
+
23
+ delegate.product(ProductEvent(event).productVO, ProductEvent(event).action)
24
+
25
+ }
26
+
27
+ public function result(data:Object):void
28
+ {
29
+ var model:OpenbillModelLocator = OpenbillModelLocator.getInstance();
30
+ var resultXML:XML = XML(data.result);
31
+ if(resultXML.hasComplexContent()){
32
+ var products:XMLList = resultXML.children();
33
+ var tmp:Array = new Array();
34
+ for(var i:Number=0; i<products.length(); i++)
35
+ {
36
+ tmp.push(model.GetProductVOFromXML(products[i]));
37
+ }
38
+ model.productsArray = tmp;
39
+ }
40
+ }
41
+
42
+ public function fault(info:Object):void
43
+ {
44
+ var faultEvent :FaultEvent = FaultEvent( info )
45
+ Alert.show( "fault at product" )
46
+ }
47
+
48
+ }
49
+ }
@@ -0,0 +1,39 @@
1
+ package org.rsos.openbill.command
2
+ {
3
+ /* add to controller
4
+ addCommand( SettingEvent.EVENT_SETTING, SettingCommand );
5
+ */
6
+ import com.adobe.cairngorm.control.CairngormEvent;
7
+ import com.adobe.cairngorm.commands.ICommand;
8
+
9
+ import org.rsos.openbill.model.OpenbillModelLocator;
10
+ import org.rsos.openbill.business.RailsDelegate;
11
+ import org.rsos.openbill.event.SettingEvent;
12
+
13
+ import mx.controls.Alert;
14
+ import mx.rpc.IResponder;
15
+ import mx.rpc.events.FaultEvent;
16
+
17
+ public class SettingCommand implements ICommand, IResponder
18
+ {
19
+ public function execute(event:CairngormEvent):void
20
+ {
21
+ var delegate : RailsDelegate = new RailsDelegate( this )
22
+
23
+ delegate.setting(SettingEvent(event).settingVO)
24
+
25
+ }
26
+
27
+ public function result(data:Object):void
28
+ {
29
+ // OpenbillModelLocator.getInstance()
30
+ }
31
+
32
+ public function fault(info:Object):void
33
+ {
34
+ var faultEvent :FaultEvent = FaultEvent( info )
35
+ Alert.show( "fault at setting" )
36
+ }
37
+
38
+ }
39
+ }
@@ -0,0 +1,25 @@
1
+ package org.rsos.openbill.control
2
+ {
3
+ import com.adobe.cairngorm.control.FrontController;
4
+
5
+ import org.rsos.openbill.command.*;
6
+ import org.rsos.openbill.event.*;
7
+
8
+ public class OpenbillController extends FrontController
9
+ {
10
+ public function OpenbillController()
11
+ {
12
+ initialiseCommands();
13
+ }
14
+
15
+ public function initialiseCommands() : void
16
+ {
17
+ addCommand( LoginEvent.EVENT_LOGIN, LoginCommand );
18
+ addCommand( LogoutEvent.EVENT_LOGOUT, LogoutCommand );
19
+ addCommand( FpEvent.EVENT_FP, FpCommand );
20
+ addCommand( SettingEvent.EVENT_SETTING, SettingCommand );
21
+ addCommand( ProductEvent.EVENT_PRODUCT, ProductCommand );
22
+ }
23
+ }
24
+
25
+ }
@@ -0,0 +1,29 @@
1
+ package org.rsos.openbill.event
2
+ {
3
+ import com.adobe.cairngorm.control.CairngormEvent;
4
+
5
+ import flash.events.Event;
6
+
7
+ import org.rsos.openbill.vo.UserVO;
8
+
9
+ public class FpEvent extends CairngormEvent
10
+ {
11
+
12
+ public static var EVENT_FP : String = "Fp";
13
+ public var userVO:UserVO;
14
+
15
+ public function FpEvent()
16
+ {
17
+ super(EVENT_FP);
18
+ }
19
+
20
+ /**
21
+ * Override the inherited clone() method, but don't return any state.
22
+ */
23
+ override public function clone() : Event
24
+ {
25
+ return new FpEvent();
26
+ }
27
+
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ package org.rsos.openbill.event
2
+ {
3
+ import com.adobe.cairngorm.control.CairngormEvent;
4
+
5
+ import flash.events.Event;
6
+
7
+ import org.rsos.openbill.vo.UserVO;
8
+
9
+ public class LoginEvent extends CairngormEvent
10
+ {
11
+
12
+ public static var EVENT_LOGIN : String = "Login";
13
+ public var userVO:UserVO;
14
+
15
+ public function LoginEvent()
16
+ {
17
+ super(EVENT_LOGIN);
18
+ }
19
+
20
+ /**
21
+ * Override the inherited clone() method, but don't return any state.
22
+ */
23
+ override public function clone() : Event
24
+ {
25
+ return new LoginEvent();
26
+ }
27
+
28
+ }
29
+ }
@@ -0,0 +1,26 @@
1
+ package org.rsos.openbill.event
2
+ {
3
+ import flash.events.Event;
4
+ import mx.utils.ObjectUtil;
5
+ import com.adobe.cairngorm.control.CairngormEvent;
6
+
7
+ public class LogoutEvent extends CairngormEvent
8
+ {
9
+
10
+ public static var EVENT_LOGOUT : String = "Logout";
11
+
12
+ public function LogoutEvent()
13
+ {
14
+ super(EVENT_LOGOUT);
15
+ }
16
+
17
+ /**
18
+ * Override the inherited clone() method, but don't return any state.
19
+ */
20
+ override public function clone() : Event
21
+ {
22
+ return new LogoutEvent();
23
+ }
24
+
25
+ }
26
+ }
@@ -0,0 +1,29 @@
1
+ package org.rsos.openbill.event
2
+ {
3
+ import com.adobe.cairngorm.control.CairngormEvent;
4
+
5
+ import flash.events.Event;
6
+
7
+ import org.rsos.openbill.vo.ProductVO;
8
+
9
+ public class ProductEvent extends CairngormEvent
10
+ {
11
+
12
+ public static var EVENT_PRODUCT : String = "Product";
13
+ public var productVO:ProductVO;
14
+ public var action:String = "GET";
15
+ public function ProductEvent()
16
+ {
17
+ super(EVENT_PRODUCT);
18
+ }
19
+
20
+ /**
21
+ * Override the inherited clone() method, but don't return any state.
22
+ */
23
+ override public function clone() : Event
24
+ {
25
+ return new ProductEvent();
26
+ }
27
+
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ package org.rsos.openbill.event
2
+ {
3
+ import com.adobe.cairngorm.control.CairngormEvent;
4
+
5
+ import flash.events.Event;
6
+
7
+ import org.rsos.openbill.vo.SettingVO;
8
+
9
+ public class SettingEvent extends CairngormEvent
10
+ {
11
+
12
+ public static var EVENT_SETTING : String = "Setting";
13
+ public var settingVO:SettingVO;
14
+
15
+ public function SettingEvent()
16
+ {
17
+ super(EVENT_SETTING);
18
+ }
19
+
20
+ /**
21
+ * Override the inherited clone() method, but don't return any state.
22
+ */
23
+ override public function clone() : Event
24
+ {
25
+ return new SettingEvent();
26
+ }
27
+
28
+ }
29
+ }
@@ -0,0 +1,188 @@
1
+ package org.rsos.openbill.model
2
+ {
3
+ import com.adobe.cairngorm.control.CairngormEventDispatcher;
4
+ import com.adobe.cairngorm.model.ModelLocator;
5
+
6
+ import mx.managers.PopUpManager;
7
+
8
+ import org.rsos.openbill.event.ProductEvent;
9
+ import org.rsos.openbill.view.*;
10
+ import org.rsos.openbill.vo.*;
11
+
12
+ [Bindable]
13
+ public class OpenbillModelLocator implements ModelLocator {
14
+ private static var modelLocator : OpenbillModelLocator;
15
+
16
+ public static function getInstance() : OpenbillModelLocator {
17
+ if ( modelLocator == null ) {
18
+ modelLocator = new OpenbillModelLocator();
19
+ }
20
+ return modelLocator;
21
+ }
22
+
23
+ //Constructor should be private but current AS3.0 does not allow it yet (?)...
24
+ public function OpenbillModelLocator() {
25
+ if ( modelLocator != null ) {
26
+ throw new Error( "Only one OpenbillModelLocator instance should be instantiated" );
27
+ }
28
+ }
29
+
30
+ private var signin:SignIn;
31
+
32
+
33
+ public function ReportError(e:*):void{
34
+
35
+ }
36
+
37
+ public function showsetting(parent:*):void
38
+ {
39
+ var setting:Setting = new Setting();
40
+ PopUpManager.addPopUp(setting, parent, true);
41
+ }
42
+
43
+ public function showproduct(parent:*, productVO:ProductVO):void
44
+ {
45
+ var product:Product = new Product();
46
+ product.productVO = productVO;
47
+ PopUpManager.addPopUp(product, parent, true);
48
+ }
49
+
50
+ public function askforlogin(parent:*):void
51
+ {
52
+ try{
53
+ signin.closeWindow();
54
+ }catch(e:Error){ReportError(e)}
55
+ try{
56
+ signin = new SignIn();
57
+ PopUpManager.addPopUp(signin, parent, true);
58
+ }catch(e:Error){ReportError(e)}
59
+ }
60
+ public function dologin():void
61
+ {
62
+ try{
63
+ signin.closeWindow();
64
+ }catch(e:Error){ReportError(e)}
65
+
66
+ var listProducts:ProductEvent = new ProductEvent();
67
+ listProducts.action = "GET";
68
+ CairngormEventDispatcher.getInstance().dispatchEvent(listProducts);
69
+
70
+ }
71
+ public function GetUserVOFromXML(resultXML:XML):UserVO
72
+ {
73
+ var userVO:UserVO = new UserVO();
74
+ try{
75
+ userVO.id = Number(resultXML.id);
76
+ userVO.email = String(resultXML.email);
77
+ userVO.login = String(resultXML.login);
78
+ userVO.name = String(resultXML.name);
79
+ userVO.role = GetRoleVOFromXML(resultXML.elements("role")[0]);
80
+ userVO.account = GetAccountVOFromXML(resultXML.elements("account")[0]);
81
+
82
+ currenyArray = new Array();
83
+ for each(var currencyXML:XML in resultXML.elements("currencies").children())
84
+ {
85
+ currenyArray.push(GetCurrencyVOFromXML(currencyXML));
86
+ }
87
+
88
+ userVO.setting = GetSettingVOFromXML(resultXML.elements("settings").children()[0]);
89
+
90
+ }catch(e:Error){ReportError(e)}
91
+ return userVO;
92
+ }
93
+
94
+ public function GetRoleVOFromXML(resultXML:XML):RoleVO
95
+ {
96
+ var roleVO:RoleVO = new RoleVO();
97
+ try{
98
+ roleVO.id = Number(resultXML.id);
99
+ roleVO.role_name = String(resultXML.role_name);
100
+ }catch(e:Error){ReportError(e)}
101
+ return roleVO;
102
+ }
103
+
104
+ public function GetAccountVOFromXML(resultXML:XML):AccountVO
105
+ {
106
+ var accountVO:AccountVO = new AccountVO();
107
+ try{
108
+ accountVO.id = Number(resultXML.id);
109
+ accountVO.account_name = String(resultXML.account_name);
110
+ }catch(e:Error){ReportError(e)}
111
+ return accountVO;
112
+ }
113
+
114
+ public function GetSettingVOFromXML(resultXML:XML):SettingVO
115
+ {
116
+ var settingVO:SettingVO = new SettingVO();
117
+ try{
118
+ settingVO.id = Number(resultXML.id);
119
+ settingVO.account_id = Number(resultXML.account_id);
120
+ settingVO.setting_name = String(resultXML.setting_name);
121
+ settingVO.setting_email = String(resultXML.setting_email);
122
+ settingVO.setting_address = String(resultXML.setting_address);
123
+ settingVO.setting_copyright = String(resultXML.setting_copyright);
124
+ settingVO.setting_terms = String(resultXML.setting_terms);
125
+ settingVO.setting_privacy = String(resultXML.setting_privacy);
126
+ settingVO.setting_install = String(resultXML.setting_install);
127
+ settingVO.setting_dateformat = String(resultXML.setting_dateformat);
128
+ settingVO.setting_carttitle = String(resultXML.setting_carttitle);
129
+ settingVO.setting_smtp_host = String(resultXML.setting_smtp_host);
130
+ settingVO.setting_smtp_port = Number(resultXML.setting_smtp_port);
131
+ settingVO.setting_smtp_auth = String(resultXML.setting_smtp_auth);
132
+ settingVO.setting_smtp_user = String(resultXML.setting_smtp_user);
133
+ settingVO.setting_smtp_pass = String(resultXML.setting_smtp_pass);
134
+ for each(var currencyVO:CurrencyVO in currenyArray)
135
+ {
136
+ if(currencyVO.id==Number(resultXML.currency_id))
137
+ {
138
+ settingVO.setting_currency = currencyVO;
139
+ }
140
+ }
141
+ }catch(e:Error){ReportError(e)}
142
+ return settingVO;
143
+ }
144
+
145
+ public function GetProductVOFromXML(resultXML:XML):ProductVO
146
+ {
147
+ var productVO:ProductVO = new ProductVO()
148
+ try{
149
+ productVO.id = Number(resultXML.id);
150
+ productVO.account = userVO.account;
151
+ productVO.product_name = String(resultXML.product_name);
152
+ productVO.product_description = String(resultXML.product_description);
153
+ productVO.product_image_url = String(resultXML.product_image_url);
154
+ }catch(e:Error){ReportError(e)}
155
+ return productVO;
156
+ }
157
+
158
+ public function GetCurrencyVOFromXML(resultXML:XML):CurrencyVO
159
+ {
160
+ var currencyVO:CurrencyVO = new CurrencyVO()
161
+ try{
162
+ currencyVO.id = Number(resultXML.id);
163
+ currencyVO.currency_name = String(resultXML.currency_name);
164
+ currencyVO.currency_delimiter = String(resultXML.currency_delimiter);
165
+ currencyVO.currency_rate = Number(resultXML.currency_rate);
166
+ currencyVO.currency_separator = String(resultXML.currency_separator);
167
+ currencyVO.currency_symbol = String(resultXML.currency_symbol);
168
+
169
+ }catch(e:Error){ReportError(e)}
170
+ return currencyVO;
171
+ }
172
+
173
+ public function getSelectedIndex(item:*, arr:Array):Number
174
+ {
175
+ for(var i:Number=0;i<arr.length; i++)
176
+ {
177
+ if(arr[i]==item)return i;
178
+ }
179
+ return -1;
180
+ }
181
+
182
+ /* bindables go here */
183
+ public var userVO:UserVO;
184
+ public var productsArray:Array;
185
+ public var dateFormats:Array = ["YYYY-MM-DD", "DD-MM-YYYY"];
186
+ public var currenyArray:Array = [];
187
+ }
188
+ }
@@ -0,0 +1,19 @@
1
+ package org.rsos.openbill.util
2
+ {
3
+ import mx.utils.ObjectUtil;
4
+
5
+ public class ValueObjectUtil
6
+ {
7
+ public static function updateAttributes (valueObject : Object, object : Object) : void
8
+ {
9
+ var attributes : Array = ObjectUtil.getClassInfo ( object ).properties;
10
+
11
+ for each (var attribute : String in attributes)
12
+ {
13
+ if ( valueObject.hasOwnProperty (attribute) )
14
+ valueObject[attribute] = object[attribute]
15
+ }
16
+ }
17
+
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
3
+
4
+ </mx:Canvas>
@@ -0,0 +1,25 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mx:ControlBar xmlns:mx="http://www.adobe.com/2006/mxml" width="100%">
3
+ <mx:Script>
4
+ <![CDATA[
5
+ import org.rsos.openbill.model.OpenbillModelLocator;
6
+ [Bindable]
7
+ private var model : OpenbillModelLocator = OpenbillModelLocator.getInstance();
8
+
9
+ private function openterms():void
10
+ {
11
+ navigateToURL(new URLRequest(model.userVO.setting.setting_terms));
12
+ }
13
+ private function openprivacy():void
14
+ {
15
+ navigateToURL(new URLRequest(model.userVO.setting.setting_privacy));
16
+ }
17
+ ]]>
18
+ </mx:Script>
19
+ <mx:DropShadowFilter id="dropShadow" distance="1" angle="45" blurX="0" blurY="0" alpha="1" color="0x111111" />
20
+ <mx:Label filters="{[dropShadow]}" text="{model.userVO.setting.setting_copyright}" fontWeight="bold"/>
21
+ <mx:Spacer width="100%"/>
22
+ <mx:LinkButton filters="{[dropShadow]}" label="Terms" click="openterms()"/>
23
+ <mx:LinkButton filters="{[dropShadow]}" label="Privacy" click="openprivacy()"/>
24
+
25
+ </mx:ControlBar>
@@ -0,0 +1,31 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mx:ControlBar xmlns:mx="http://www.adobe.com/2006/mxml" width="100%">
3
+ <mx:Script>
4
+ <![CDATA[
5
+ import org.rsos.openbill.model.OpenbillModelLocator;
6
+ import org.rsos.openbill.event.LogoutEvent;
7
+ import com.adobe.cairngorm.control.CairngormEventDispatcher;
8
+ import mx.core.Application;
9
+
10
+ [Bindable]
11
+ private var model:OpenbillModelLocator = OpenbillModelLocator.getInstance();
12
+
13
+ private function logout():void
14
+ {
15
+ CairngormEventDispatcher.getInstance().dispatchEvent(new LogoutEvent());
16
+ }
17
+
18
+ private function opensetting():void
19
+ {
20
+ model.showsetting(Application.application);
21
+ }
22
+
23
+ ]]>
24
+ </mx:Script>
25
+ <mx:DropShadowFilter id="dropShadow" distance="1" angle="45" blurX="0" blurY="0" alpha="1" color="0x111111" />
26
+ <mx:Image source="images/logo.png" filters="{[dropShadow]}" />
27
+ <mx:Label filters="{[dropShadow]}" text="{model.userVO.setting.setting_name}" fontSize="20" fontWeight="bold" color="#EEEEEE"/>
28
+ <mx:Spacer width="100%"/>
29
+ <mx:LinkButton click="opensetting()" filters="{[dropShadow]}" label="Settings" toolTip="Settings"/>
30
+ <mx:LinkButton click="logout()" filters="{[dropShadow]}" label="Logout" toolTip="Logout"/>
31
+ </mx:ControlBar>
@@ -0,0 +1,82 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <mx:TitleWindow creationComplete="centerWindow()" close="closeWindow()" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="560" height="500" xmlns:code="http://code.google.com/p/flexlib/" showCloseButton="true" xmlns:ns1="flexlib.containers.*" xmlns:ns2="flexlib.controls.*">
3
+ <mx:Script>
4
+ <![CDATA[
5
+ import org.rsos.openbill.vo.ProductVO;
6
+ import com.adobe.cairngorm.control.CairngormEventDispatcher;
7
+ import org.rsos.openbill.event.SettingEvent;
8
+ import org.rsos.openbill.model.OpenbillModelLocator;
9
+ import mx.managers.PopUpManager;
10
+
11
+ [Bindable]
12
+ private var model :OpenbillModelLocator = OpenbillModelLocator.getInstance();
13
+
14
+ [Bindable]
15
+ public var productVO:ProductVO;
16
+
17
+ public function centerWindow():void
18
+ {
19
+ PopUpManager.centerPopUp(this);
20
+ }
21
+
22
+ public function closeWindow():void
23
+ {
24
+ this.removeAllChildren();
25
+ PopUpManager.removePopUp(this);
26
+ }
27
+ private function update_product():void
28
+ {
29
+
30
+
31
+ }
32
+ ]]>
33
+ </mx:Script>
34
+ <mx:ViewStack id="viewstack1" left="10" top="80" right="10" bottom="10" creationPolicy="all">
35
+ <mx:Canvas label="General" width="100%" height="100%">
36
+ <ns1:AdvancedForm paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" width="100%" x="0" height="100%" y="0">
37
+ <mx:HBox width="100%" height="100%">
38
+ <mx:VBox paddingBottom="4" paddingLeft="4" paddingRight="4" paddingTop="4" width="50%" height="100%">
39
+ <mx:Label text="Name"/>
40
+ <ns2:PromptingTextInput text="{productVO.product_name}" change="update_product()" width="100%" prompt="Name" id="product_name"/>
41
+ <mx:Label text="Image url"/>
42
+ <mx:HBox>
43
+ <mx:VBox borderStyle="solid" borderColor="#333333">
44
+ <mx:Image source="{product_image_url.text}" autoLoad="true" scaleContent="true" width="50" height="50"/>
45
+ </mx:VBox>
46
+ <ns2:PromptingTextInput text="{productVO.product_image_url}" change="update_product()" width="100%" prompt="/images/avatar.png" id="product_image_url"/>
47
+ </mx:HBox>
48
+ <mx:Label text="Description"/>
49
+ <mx:Label text="Label"/>
50
+ <mx:RichTextEditor text="{productVO.product_description}" change="update_product()" width="100%" height="100%" id="product_description" />
51
+ </mx:VBox>
52
+ <mx:VBox paddingBottom="4" paddingLeft="4" paddingRight="4" paddingTop="4" width="50%" height="100%">
53
+ <mx:Label text="Domain"/>
54
+ <mx:CheckBox label="Require domain"/>
55
+ <mx:CheckBox label="Enable new domain"/>
56
+ <mx:CheckBox label="Enable transfer domain"/>
57
+ <mx:CheckBox label="Enable sub domain"/>
58
+ <mx:CheckBox label="Enable own domain"/>
59
+ <mx:Label text="Server"/>
60
+ <mx:ComboBox prompt="Server name">
61
+
62
+ </mx:ComboBox>
63
+ <mx:Label text="Server package"/>
64
+ <ns2:PromptingTextInput width="100%" prompt="Plan or Package name"/>
65
+ </mx:VBox>
66
+ </mx:HBox>
67
+ </ns1:AdvancedForm>
68
+ </mx:Canvas>
69
+ <mx:Canvas label="Billing" width="100%" height="100%">
70
+ <ns1:AdvancedForm paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" width="100%" x="0" height="100%" y="0">
71
+ <mx:HBox width="100%" height="100%">
72
+ <mx:VBox paddingBottom="4" paddingLeft="4" paddingRight="4" paddingTop="4" width="50%" height="100%">
73
+ <mx:Label text="Price"/>
74
+ <ns2:PromptingTextInput width="100%" prompt="0.00"/>
75
+ </mx:VBox>
76
+ </mx:HBox>
77
+ </ns1:AdvancedForm>
78
+ </mx:Canvas>
79
+ </mx:ViewStack>
80
+ <mx:ToggleButtonBar dataProvider="{viewstack1}" right="34" top="49"/>
81
+ <mx:Label text="Product" color="#0088FF" fontWeight="normal" fontSize="12" id="label1" x="10" y="25"/>
82
+ </mx:TitleWindow>