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.
- data/.actionScriptProperties +26 -0
- data/.flexProperties +2 -0
- data/.gitignore +4 -0
- data/.loadpath +7 -0
- data/.project +24 -0
- data/CONTRIBUTORS +6 -0
- data/INSTALL +11 -0
- data/LICENSE +20 -20
- data/README +63 -63
- data/Rakefile +51 -0
- data/VERSION +1 -0
- data/app/controllers/application.rb +49 -0
- data/app/controllers/carts_controller.rb +226 -0
- data/app/controllers/products_controller.rb +19 -0
- data/app/controllers/sessions_controller.rb +39 -0
- data/app/controllers/settings_controller.rb +15 -0
- data/app/helpers/application_helper.rb +3 -0
- data/app/helpers/carts_helper.rb +5 -0
- data/app/helpers/products_helper.rb +2 -0
- data/app/helpers/sessions_helper.rb +2 -0
- data/app/helpers/settings_helper.rb +2 -0
- data/app/models/account.rb +16 -0
- data/app/models/billingcycle.rb +7 -0
- data/app/models/currency.rb +5 -0
- data/app/models/emailtemplate.rb +5 -0
- data/app/models/invoice.rb +13 -0
- data/app/models/invoicedetail.rb +8 -0
- data/app/models/option.rb +5 -0
- data/app/models/order.rb +7 -0
- data/app/models/orderdetail.rb +11 -0
- data/app/models/paymentgateway.rb +5 -0
- data/app/models/product.rb +10 -0
- data/app/models/registrar.rb +7 -0
- data/app/models/registrarlog.rb +6 -0
- data/app/models/role.rb +7 -0
- data/app/models/server.rb +5 -0
- data/app/models/serverlog.rb +6 -0
- data/app/models/setting.rb +6 -0
- data/app/models/tld.rb +9 -0
- data/app/models/transaction.rb +8 -0
- data/app/models/user.rb +68 -0
- data/app/models/user_mailer.rb +24 -0
- data/app/models/user_observer.rb +11 -0
- data/app/models/userfieldname.rb +8 -0
- data/app/models/userfieldvalue.rb +6 -0
- data/app/views/carts/_cart_details.html.erb +36 -0
- data/app/views/carts/_check_domain_availability.html.erb +7 -0
- data/app/views/carts/_loginbox.html.erb +33 -0
- data/app/views/carts/_new_domain_available.html.erb +14 -0
- data/app/views/carts/_new_domain_not_available.html.erb +10 -0
- data/app/views/carts/_orderinfobox.html.erb +1 -0
- data/app/views/carts/_product_details.html.erb +43 -0
- data/app/views/carts/_products_list.html.erb +22 -0
- data/app/views/carts/_signupbox.html.erb +51 -0
- data/app/views/carts/checkout.html.erb +22 -0
- data/app/views/carts/customer.html.erb +26 -0
- data/app/views/carts/order.html.erb +17 -0
- data/app/views/layouts/default.html.erb +43 -0
- data/app/views/user_mailer/activation.erb +3 -0
- data/app/views/user_mailer/signup_notification.erb +8 -0
- data/config/boot.rb +109 -0
- data/config/database.yml +20 -0
- data/config/environment.rb +76 -0
- data/config/environments/development.rb +17 -0
- data/config/environments/production.rb +24 -0
- data/config/environments/test.rb +22 -0
- data/config/initializers/inflections.rb +10 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/new_rails_defaults.rb +17 -0
- data/config/initializers/site_keys.rb +38 -0
- data/config/locales/en.yml +2 -0
- data/config/routes.rb +31 -0
- data/db/migrate/20090429095737_create_settings.rb +28 -0
- data/db/migrate/20090429102507_create_users.rb +25 -0
- data/db/migrate/20090429113405_create_accounts.rb +12 -0
- data/db/migrate/20090430091300_create_roles.rb +14 -0
- data/db/migrate/20090430103415_create_products.rb +24 -0
- data/db/migrate/20090509144706_create_sessions.rb +16 -0
- data/db/migrate/20090518070457_create_billingcycles.rb +15 -0
- data/db/migrate/20090518105551_create_orders.rb +13 -0
- data/db/migrate/20090518105611_create_invoices.rb +17 -0
- data/db/migrate/20090518105912_create_orderdetails.rb +24 -0
- data/db/migrate/20090518105931_create_invoicedetails.rb +14 -0
- data/db/migrate/20090519051441_create_servers.rb +14 -0
- data/db/migrate/20090519051509_create_registrars.rb +13 -0
- data/db/migrate/20090519051536_create_paymentgateways.rb +13 -0
- data/db/migrate/20090519052025_create_tlds.rb +15 -0
- data/db/migrate/20090519070149_create_transactions.rb +17 -0
- data/db/migrate/20090519070225_create_registrarlogs.rb +16 -0
- data/db/migrate/20090519070248_create_serverlogs.rb +16 -0
- data/db/migrate/20090519071741_create_emailtemplates.rb +18 -0
- data/db/migrate/20090519083539_create_currencies.rb +18 -0
- data/db/migrate/20090522102336_create_userfieldnames.rb +16 -0
- data/db/migrate/20090522102401_create_userfieldvalues.rb +14 -0
- data/db/migrate/20090526092119_create_options.rb +14 -0
- data/html-template/AC_OETags.js +292 -0
- data/html-template/history/history.css +6 -0
- data/html-template/history/history.js +662 -0
- data/html-template/history/historyFrame.html +29 -0
- data/html-template/index.template.html +121 -0
- data/html-template/playerProductInstall.swf +0 -0
- data/lib/authenticated_system.rb +189 -0
- data/lib/authenticated_test_helper.rb +11 -0
- data/lib/tasks/empty +0 -0
- data/openbill.gemspec +787 -0
- data/pkg/openbill-0.0.0.gem +0 -0
- data/pkg/openbill-0.1.3.gem +0 -0
- data/pkg/openbill-0.1.4.gem +0 -0
- data/public/404.html +30 -0
- data/public/422.html +30 -0
- data/public/500.html +33 -0
- data/public/AC_OETags.js +292 -0
- data/public/admin.html +121 -0
- data/public/admin.swf +0 -0
- data/public/assets/LoadingUndefinedSkin.swf +0 -0
- data/public/assets/UndefinedPersonalSkinLoad.swf +0 -0
- data/public/assets/blanc.png +0 -0
- data/public/assets/botones/Boton_dis.png +0 -0
- data/public/assets/botones/PopUpButton.png +0 -0
- data/public/assets/botones/PopUpButton1.png +0 -0
- data/public/assets/botones/PopUpButton2.png +0 -0
- data/public/assets/botones/PopUpButton_0.png +0 -0
- data/public/assets/botones/PopUpButton_1.png +0 -0
- data/public/assets/botones/PopUpButton_2.png +0 -0
- data/public/assets/botones/PopUpButton_dis.png +0 -0
- data/public/assets/botones/PopUpMenuButton.png +0 -0
- data/public/assets/botones/PopUpMenuButton1.png +0 -0
- data/public/assets/botones/PopUpMenuButton2.png +0 -0
- data/public/assets/botones/PopUpMenuButton_0.png +0 -0
- data/public/assets/botones/PopUpMenuButton_1.png +0 -0
- data/public/assets/botones/PopUpMenuButton_2.png +0 -0
- data/public/assets/botones/PopUpMenuButton_dis.png +0 -0
- data/public/assets/botones/Scroll_barra.png +0 -0
- data/public/assets/botones/Scroll_barra1.png +0 -0
- data/public/assets/botones/Scroll_barra2.png +0 -0
- data/public/assets/botones/Scroll_down.png +0 -0
- data/public/assets/botones/Scroll_down1.png +0 -0
- data/public/assets/botones/Scroll_fondo.png +0 -0
- data/public/assets/botones/Scroll_icon.png +0 -0
- data/public/assets/botones/Scroll_up.png +0 -0
- data/public/assets/botones/Scroll_up1.png +0 -0
- data/public/assets/botones/TabNavigator.png +0 -0
- data/public/assets/botones/TabNavigator1.png +0 -0
- data/public/assets/botones/TabNavigator2.png +0 -0
- data/public/assets/botones/TabNavigator3.png +0 -0
- data/public/assets/botones/Thumbs.db +0 -0
- data/public/assets/botones/accordion_backround.png +0 -0
- data/public/assets/botones/accordion_barra.png +0 -0
- data/public/assets/botones/accordion_barra1.png +0 -0
- data/public/assets/botones/accordion_barra2.png +0 -0
- data/public/assets/botones/accordion_barra3.png +0 -0
- data/public/assets/botones/adelante.png +0 -0
- data/public/assets/botones/adelante1.png +0 -0
- data/public/assets/botones/adelante2.png +0 -0
- data/public/assets/botones/adelante_dis.png +0 -0
- data/public/assets/botones/atras.png +0 -0
- data/public/assets/botones/atras1.png +0 -0
- data/public/assets/botones/atras2.png +0 -0
- data/public/assets/botones/atras_dis.png +0 -0
- data/public/assets/botones/barra.png +0 -0
- data/public/assets/botones/barra_dis.png +0 -0
- data/public/assets/botones/barra_v.png +0 -0
- data/public/assets/botones/boton.jpg +0 -0
- data/public/assets/botones/boton.png +0 -0
- data/public/assets/botones/boton1.png +0 -0
- data/public/assets/botones/boton2.png +0 -0
- data/public/assets/botones/boton_classic.png +0 -0
- data/public/assets/botones/boton_classic1.png +0 -0
- data/public/assets/botones/boton_classic2.png +0 -0
- data/public/assets/botones/bullet.png +0 -0
- data/public/assets/botones/bullet1.png +0 -0
- data/public/assets/botones/bullet_V_dis.png +0 -0
- data/public/assets/botones/bullet_dis.png +0 -0
- data/public/assets/botones/bullet_v.png +0 -0
- data/public/assets/botones/bullet_v1.png +0 -0
- data/public/assets/botones/chekOff.png +0 -0
- data/public/assets/botones/chekOff1.png +0 -0
- data/public/assets/botones/chekOff2.png +0 -0
- data/public/assets/botones/chekOn.png +0 -0
- data/public/assets/botones/chekOn1.png +0 -0
- data/public/assets/botones/chekOn2.png +0 -0
- data/public/assets/botones/chek_dis.png +0 -0
- data/public/assets/botones/close.png +0 -0
- data/public/assets/botones/close1.png +0 -0
- data/public/assets/botones/close2.png +0 -0
- data/public/assets/botones/close_folder.png +0 -0
- data/public/assets/botones/colorPicker.png +0 -0
- data/public/assets/botones/colorPicker1.png +0 -0
- data/public/assets/botones/colorPicker2.png +0 -0
- data/public/assets/botones/colorPicker_blanco.png +0 -0
- data/public/assets/botones/colorPicker_blanco1.png +0 -0
- data/public/assets/botones/colorPicker_blanco2.png +0 -0
- data/public/assets/botones/colorPicker_dis.png +0 -0
- data/public/assets/botones/combo.png +0 -0
- data/public/assets/botones/combo1.png +0 -0
- data/public/assets/botones/combo2.png +0 -0
- data/public/assets/botones/combo_dis.png +0 -0
- data/public/assets/botones/dataIcon.png +0 -0
- data/public/assets/botones/dataIcon1.png +0 -0
- data/public/assets/botones/dataIcon2.png +0 -0
- data/public/assets/botones/dataIcon_dis.png +0 -0
- data/public/assets/botones/dataText.png +0 -0
- data/public/assets/botones/folder_close.png +0 -0
- data/public/assets/botones/folder_open.png +0 -0
- data/public/assets/botones/hoja.png +0 -0
- data/public/assets/botones/icon_down.png +0 -0
- data/public/assets/botones/icon_up.png +0 -0
- data/public/assets/botones/last_toggle.png +0 -0
- data/public/assets/botones/last_toggle1.png +0 -0
- data/public/assets/botones/last_toggle2.png +0 -0
- data/public/assets/botones/last_toggle3.png +0 -0
- data/public/assets/botones/numericStepper_Down.png +0 -0
- data/public/assets/botones/numericStepper_Down1.png +0 -0
- data/public/assets/botones/numericStepper_Down2.png +0 -0
- data/public/assets/botones/numericStepper_Down_dis.png +0 -0
- data/public/assets/botones/numericStepper_Text.png +0 -0
- data/public/assets/botones/numericStepper_Up.png +0 -0
- data/public/assets/botones/numericStepper_Up1.png +0 -0
- data/public/assets/botones/numericStepper_Up2.png +0 -0
- data/public/assets/botones/numericStepper_Up_dis.png +0 -0
- data/public/assets/botones/open_folder.png +0 -0
- data/public/assets/botones/prev_toggle.png +0 -0
- data/public/assets/botones/prev_toggle1.png +0 -0
- data/public/assets/botones/prev_toggle2.png +0 -0
- data/public/assets/botones/prev_toggle3.png +0 -0
- data/public/assets/botones/progress.png +0 -0
- data/public/assets/botones/progress_barra.png +0 -0
- data/public/assets/botones/progress_charning.png +0 -0
- data/public/assets/botones/progress_dis.png +0 -0
- data/public/assets/botones/radio.png +0 -0
- data/public/assets/botones/radio1.png +0 -0
- data/public/assets/botones/radio2.png +0 -0
- data/public/assets/botones/radio3.png +0 -0
- data/public/assets/botones/radio4.png +0 -0
- data/public/assets/botones/radio_dis.png +0 -0
- data/public/assets/botones/seleccionData.png +0 -0
- data/public/assets/botones/seleccionDataSelected.png +0 -0
- data/public/assets/botones/seleccionDataUp.png +0 -0
- data/public/assets/botones/textArea.png +0 -0
- data/public/assets/botones/textInput.png +0 -0
- data/public/assets/botones/textInput_error.png +0 -0
- data/public/assets/botones/textInput_no.png +0 -0
- data/public/assets/botones/toggle_medio.png +0 -0
- data/public/assets/botones/toggle_medio1.png +0 -0
- data/public/assets/botones/toggle_medio2.png +0 -0
- data/public/assets/botones/toggle_medio3.png +0 -0
- data/public/assets/botones/toolTip.png +0 -0
- data/public/assets/general/Fondo4.jpg +0 -0
- data/public/assets/general/Fondo5.jpg +0 -0
- data/public/assets/general/MenuItem.png +0 -0
- data/public/assets/general/MenuItem1.png +0 -0
- data/public/assets/general/Thumbs.db +0 -0
- data/public/assets/general/alert_fondo.png +0 -0
- data/public/assets/general/alert_fondo1.png +0 -0
- data/public/assets/general/alert_titulo.png +0 -0
- data/public/assets/general/alert_titulo1.png +0 -0
- data/public/assets/general/blanc.png +0 -0
- data/public/assets/general/fondo.jpg +0 -0
- data/public/assets/general/fondo1.jpg +0 -0
- data/public/assets/general/fondo2.jpg +0 -0
- data/public/assets/general/fondo3.jpg +0 -0
- data/public/assets/general/fondo_list.png +0 -0
- data/public/assets/general/menu.png +0 -0
- data/public/assets/general/panel.png +0 -0
- data/public/assets/general/separator.png +0 -0
- data/public/assets/general/titleWindow.png +0 -0
- data/public/assets/general/titleWindow1.png +0 -0
- data/public/assets/icons/Thumbs.db +0 -0
- data/public/assets/icons/ai.jpg +0 -0
- data/public/assets/icons/air.jpg +0 -0
- data/public/assets/icons/fl.jpg +0 -0
- data/public/assets/icons/fw.jpg +0 -0
- data/public/assets/icons/fx.jpg +0 -0
- data/public/assets/icons/ps.jpg +0 -0
- data/public/assets/scroll/Thumbs.db +0 -0
- data/public/assets/scroll/barra.png +0 -0
- data/public/assets/scroll/barra1.png +0 -0
- data/public/assets/scroll/barra2.png +0 -0
- data/public/assets/scroll/barra_1.png +0 -0
- data/public/assets/scroll/barra_2.png +0 -0
- data/public/assets/scroll/down.png +0 -0
- data/public/assets/scroll/down1.png +0 -0
- data/public/assets/scroll/down_1.png +0 -0
- data/public/assets/scroll/down_2.png +0 -0
- data/public/assets/scroll/fondo.png +0 -0
- data/public/assets/scroll/fondo_1.png +0 -0
- data/public/assets/scroll/fondo_2.png +0 -0
- data/public/assets/scroll/up.png +0 -0
- data/public/assets/scroll/up1.png +0 -0
- data/public/assets/scroll/up_1.png +0 -0
- data/public/assets/scroll/up_2.png +0 -0
- data/public/assets/xml/listData.xml +21 -0
- data/public/dispatch.cgi +10 -0
- data/public/dispatch.fcgi +24 -0
- data/public/dispatch.rb +10 -0
- data/public/favicon.ico +0 -0
- data/public/framework_3.0.0.477.swf +0 -0
- data/public/framework_3.0.0.477.swz +0 -0
- data/public/history/history.css +6 -0
- data/public/history/history.js +662 -0
- data/public/history/historyFrame.html +29 -0
- data/public/images/avatar.png +0 -0
- data/public/images/logo.png +0 -0
- data/public/images/rails.png +0 -0
- data/public/images/spinner.gif +0 -0
- data/public/index.html +1 -0
- data/public/javascripts/application.js +2 -0
- data/public/javascripts/controls.js +963 -0
- data/public/javascripts/dragdrop.js +973 -0
- data/public/javascripts/effects.js +1128 -0
- data/public/javascripts/jquery-1.3.min.js +19 -0
- data/public/javascripts/jquery.localscroll.js +104 -0
- data/public/javascripts/jquery.scrollTo.js +150 -0
- data/public/javascripts/prototype.js +4320 -0
- data/public/playerProductInstall.swf +0 -0
- data/public/robots.txt +5 -0
- data/public/stylesheets/base.css +336 -0
- data/public/stylesheets/darkroom.css +1374 -0
- data/public/stylesheets/darkroom.swf +0 -0
- data/public/stylesheets/default.css +1034 -0
- data/public/stylesheets/myriad.swf +0 -0
- data/public/stylesheets/scaffold.css +54 -0
- data/public/stylesheets/themes/bec/style.css +301 -0
- data/public/stylesheets/themes/bec-green/style.css +290 -0
- data/public/stylesheets/themes/blue/style.css +280 -0
- data/public/stylesheets/themes/default/style.css +267 -0
- data/public/stylesheets/themes/djime-cerulean/style.css +298 -0
- data/public/stylesheets/themes/kathleene/style.css +272 -0
- data/public/stylesheets/themes/openbill/style.css +272 -0
- data/public/stylesheets/themes/orange/style.css +263 -0
- data/public/stylesheets/themes/reidb-greenish/style.css +301 -0
- data/rdoc/empty +0 -0
- data/rdoc/logo.max +0 -0
- data/rdoc/logo.png +0 -0
- data/script/about +4 -0
- data/script/console +3 -0
- data/script/dbconsole +3 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/performance/benchmarker +3 -0
- data/script/performance/profiler +3 -0
- data/script/performance/request +3 -0
- data/script/plugin +3 -0
- data/script/process/inspector +3 -0
- data/script/process/reaper +3 -0
- data/script/process/spawner +3 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/src/admin.mxml +62 -0
- data/src/assets/LoadingUndefinedSkin.swf +0 -0
- data/src/assets/UndefinedPersonalSkinLoad.swf +0 -0
- data/src/assets/blanc.png +0 -0
- data/src/assets/botones/Boton_dis.png +0 -0
- data/src/assets/botones/PopUpButton.png +0 -0
- data/src/assets/botones/PopUpButton1.png +0 -0
- data/src/assets/botones/PopUpButton2.png +0 -0
- data/src/assets/botones/PopUpButton_0.png +0 -0
- data/src/assets/botones/PopUpButton_1.png +0 -0
- data/src/assets/botones/PopUpButton_2.png +0 -0
- data/src/assets/botones/PopUpButton_dis.png +0 -0
- data/src/assets/botones/PopUpMenuButton.png +0 -0
- data/src/assets/botones/PopUpMenuButton1.png +0 -0
- data/src/assets/botones/PopUpMenuButton2.png +0 -0
- data/src/assets/botones/PopUpMenuButton_0.png +0 -0
- data/src/assets/botones/PopUpMenuButton_1.png +0 -0
- data/src/assets/botones/PopUpMenuButton_2.png +0 -0
- data/src/assets/botones/PopUpMenuButton_dis.png +0 -0
- data/src/assets/botones/Scroll_barra.png +0 -0
- data/src/assets/botones/Scroll_barra1.png +0 -0
- data/src/assets/botones/Scroll_barra2.png +0 -0
- data/src/assets/botones/Scroll_down.png +0 -0
- data/src/assets/botones/Scroll_down1.png +0 -0
- data/src/assets/botones/Scroll_fondo.png +0 -0
- data/src/assets/botones/Scroll_icon.png +0 -0
- data/src/assets/botones/Scroll_up.png +0 -0
- data/src/assets/botones/Scroll_up1.png +0 -0
- data/src/assets/botones/TabNavigator.png +0 -0
- data/src/assets/botones/TabNavigator1.png +0 -0
- data/src/assets/botones/TabNavigator2.png +0 -0
- data/src/assets/botones/TabNavigator3.png +0 -0
- data/src/assets/botones/Thumbs.db +0 -0
- data/src/assets/botones/accordion_backround.png +0 -0
- data/src/assets/botones/accordion_barra.png +0 -0
- data/src/assets/botones/accordion_barra1.png +0 -0
- data/src/assets/botones/accordion_barra2.png +0 -0
- data/src/assets/botones/accordion_barra3.png +0 -0
- data/src/assets/botones/adelante.png +0 -0
- data/src/assets/botones/adelante1.png +0 -0
- data/src/assets/botones/adelante2.png +0 -0
- data/src/assets/botones/adelante_dis.png +0 -0
- data/src/assets/botones/atras.png +0 -0
- data/src/assets/botones/atras1.png +0 -0
- data/src/assets/botones/atras2.png +0 -0
- data/src/assets/botones/atras_dis.png +0 -0
- data/src/assets/botones/barra.png +0 -0
- data/src/assets/botones/barra_dis.png +0 -0
- data/src/assets/botones/barra_v.png +0 -0
- data/src/assets/botones/boton.jpg +0 -0
- data/src/assets/botones/boton.png +0 -0
- data/src/assets/botones/boton1.png +0 -0
- data/src/assets/botones/boton2.png +0 -0
- data/src/assets/botones/boton_classic.png +0 -0
- data/src/assets/botones/boton_classic1.png +0 -0
- data/src/assets/botones/boton_classic2.png +0 -0
- data/src/assets/botones/bullet.png +0 -0
- data/src/assets/botones/bullet1.png +0 -0
- data/src/assets/botones/bullet_V_dis.png +0 -0
- data/src/assets/botones/bullet_dis.png +0 -0
- data/src/assets/botones/bullet_v.png +0 -0
- data/src/assets/botones/bullet_v1.png +0 -0
- data/src/assets/botones/chekOff.png +0 -0
- data/src/assets/botones/chekOff1.png +0 -0
- data/src/assets/botones/chekOff2.png +0 -0
- data/src/assets/botones/chekOn.png +0 -0
- data/src/assets/botones/chekOn1.png +0 -0
- data/src/assets/botones/chekOn2.png +0 -0
- data/src/assets/botones/chek_dis.png +0 -0
- data/src/assets/botones/close.png +0 -0
- data/src/assets/botones/close1.png +0 -0
- data/src/assets/botones/close2.png +0 -0
- data/src/assets/botones/close_folder.png +0 -0
- data/src/assets/botones/colorPicker.png +0 -0
- data/src/assets/botones/colorPicker1.png +0 -0
- data/src/assets/botones/colorPicker2.png +0 -0
- data/src/assets/botones/colorPicker_blanco.png +0 -0
- data/src/assets/botones/colorPicker_blanco1.png +0 -0
- data/src/assets/botones/colorPicker_blanco2.png +0 -0
- data/src/assets/botones/colorPicker_dis.png +0 -0
- data/src/assets/botones/combo.png +0 -0
- data/src/assets/botones/combo1.png +0 -0
- data/src/assets/botones/combo2.png +0 -0
- data/src/assets/botones/combo_dis.png +0 -0
- data/src/assets/botones/dataIcon.png +0 -0
- data/src/assets/botones/dataIcon1.png +0 -0
- data/src/assets/botones/dataIcon2.png +0 -0
- data/src/assets/botones/dataIcon_dis.png +0 -0
- data/src/assets/botones/dataText.png +0 -0
- data/src/assets/botones/folder_close.png +0 -0
- data/src/assets/botones/folder_open.png +0 -0
- data/src/assets/botones/hoja.png +0 -0
- data/src/assets/botones/icon_down.png +0 -0
- data/src/assets/botones/icon_up.png +0 -0
- data/src/assets/botones/last_toggle.png +0 -0
- data/src/assets/botones/last_toggle1.png +0 -0
- data/src/assets/botones/last_toggle2.png +0 -0
- data/src/assets/botones/last_toggle3.png +0 -0
- data/src/assets/botones/numericStepper_Down.png +0 -0
- data/src/assets/botones/numericStepper_Down1.png +0 -0
- data/src/assets/botones/numericStepper_Down2.png +0 -0
- data/src/assets/botones/numericStepper_Down_dis.png +0 -0
- data/src/assets/botones/numericStepper_Text.png +0 -0
- data/src/assets/botones/numericStepper_Up.png +0 -0
- data/src/assets/botones/numericStepper_Up1.png +0 -0
- data/src/assets/botones/numericStepper_Up2.png +0 -0
- data/src/assets/botones/numericStepper_Up_dis.png +0 -0
- data/src/assets/botones/open_folder.png +0 -0
- data/src/assets/botones/prev_toggle.png +0 -0
- data/src/assets/botones/prev_toggle1.png +0 -0
- data/src/assets/botones/prev_toggle2.png +0 -0
- data/src/assets/botones/prev_toggle3.png +0 -0
- data/src/assets/botones/progress.png +0 -0
- data/src/assets/botones/progress_barra.png +0 -0
- data/src/assets/botones/progress_charning.png +0 -0
- data/src/assets/botones/progress_dis.png +0 -0
- data/src/assets/botones/radio.png +0 -0
- data/src/assets/botones/radio1.png +0 -0
- data/src/assets/botones/radio2.png +0 -0
- data/src/assets/botones/radio3.png +0 -0
- data/src/assets/botones/radio4.png +0 -0
- data/src/assets/botones/radio_dis.png +0 -0
- data/src/assets/botones/seleccionData.png +0 -0
- data/src/assets/botones/seleccionDataSelected.png +0 -0
- data/src/assets/botones/seleccionDataUp.png +0 -0
- data/src/assets/botones/textArea.png +0 -0
- data/src/assets/botones/textInput.png +0 -0
- data/src/assets/botones/textInput_error.png +0 -0
- data/src/assets/botones/textInput_no.png +0 -0
- data/src/assets/botones/toggle_medio.png +0 -0
- data/src/assets/botones/toggle_medio1.png +0 -0
- data/src/assets/botones/toggle_medio2.png +0 -0
- data/src/assets/botones/toggle_medio3.png +0 -0
- data/src/assets/botones/toolTip.png +0 -0
- data/src/assets/general/Fondo4.jpg +0 -0
- data/src/assets/general/Fondo5.jpg +0 -0
- data/src/assets/general/MenuItem.png +0 -0
- data/src/assets/general/MenuItem1.png +0 -0
- data/src/assets/general/Thumbs.db +0 -0
- data/src/assets/general/alert_fondo.png +0 -0
- data/src/assets/general/alert_fondo1.png +0 -0
- data/src/assets/general/alert_titulo.png +0 -0
- data/src/assets/general/alert_titulo1.png +0 -0
- data/src/assets/general/blanc.png +0 -0
- data/src/assets/general/fondo.jpg +0 -0
- data/src/assets/general/fondo1.jpg +0 -0
- data/src/assets/general/fondo2.jpg +0 -0
- data/src/assets/general/fondo3.jpg +0 -0
- data/src/assets/general/fondo_list.png +0 -0
- data/src/assets/general/menu.png +0 -0
- data/src/assets/general/panel.png +0 -0
- data/src/assets/general/separator.png +0 -0
- data/src/assets/general/titleWindow.png +0 -0
- data/src/assets/general/titleWindow1.png +0 -0
- data/src/assets/icons/Thumbs.db +0 -0
- data/src/assets/icons/ai.jpg +0 -0
- data/src/assets/icons/air.jpg +0 -0
- data/src/assets/icons/fl.jpg +0 -0
- data/src/assets/icons/fw.jpg +0 -0
- data/src/assets/icons/fx.jpg +0 -0
- data/src/assets/icons/ps.jpg +0 -0
- data/src/assets/programmatic/BigThumbClass.as +14 -0
- data/src/assets/programmatic/CustomPreloader.as +79 -0
- data/src/assets/programmatic/MyDateField.as +22 -0
- data/src/assets/scroll/Thumbs.db +0 -0
- data/src/assets/scroll/barra.png +0 -0
- data/src/assets/scroll/barra1.png +0 -0
- data/src/assets/scroll/barra2.png +0 -0
- data/src/assets/scroll/barra_1.png +0 -0
- data/src/assets/scroll/barra_2.png +0 -0
- data/src/assets/scroll/down.png +0 -0
- data/src/assets/scroll/down1.png +0 -0
- data/src/assets/scroll/down_1.png +0 -0
- data/src/assets/scroll/down_2.png +0 -0
- data/src/assets/scroll/fondo.png +0 -0
- data/src/assets/scroll/fondo_1.png +0 -0
- data/src/assets/scroll/fondo_2.png +0 -0
- data/src/assets/scroll/up.png +0 -0
- data/src/assets/scroll/up1.png +0 -0
- data/src/assets/scroll/up_1.png +0 -0
- data/src/assets/scroll/up_2.png +0 -0
- data/src/assets/xml/listData.xml +21 -0
- data/src/images/logo.png +0 -0
- data/src/libs/Cairngorm.swc +0 -0
- data/src/libs/flexlib.swc +0 -0
- data/src/org/rsos/openbill/business/RailsDelegate.as +109 -0
- data/src/org/rsos/openbill/business/Services.mxml +15 -0
- data/src/org/rsos/openbill/command/FpCommand.as +44 -0
- data/src/org/rsos/openbill/command/LoginCommand.as +52 -0
- data/src/org/rsos/openbill/command/LogoutCommand.as +43 -0
- data/src/org/rsos/openbill/command/ProductCommand.as +49 -0
- data/src/org/rsos/openbill/command/SettingCommand.as +39 -0
- data/src/org/rsos/openbill/control/OpenbillController.as +25 -0
- data/src/org/rsos/openbill/event/FpEvent.as +29 -0
- data/src/org/rsos/openbill/event/LoginEvent.as +29 -0
- data/src/org/rsos/openbill/event/LogoutEvent.as +26 -0
- data/src/org/rsos/openbill/event/ProductEvent.as +29 -0
- data/src/org/rsos/openbill/event/SettingEvent.as +29 -0
- data/src/org/rsos/openbill/model/OpenbillModelLocator.as +188 -0
- data/src/org/rsos/openbill/util/ValueObjectUtil.as +19 -0
- data/src/org/rsos/openbill/view/Content.mxml +4 -0
- data/src/org/rsos/openbill/view/Footer.mxml +25 -0
- data/src/org/rsos/openbill/view/Header.mxml +31 -0
- data/src/org/rsos/openbill/view/Product.mxml +82 -0
- data/src/org/rsos/openbill/view/Setting.mxml +111 -0
- data/src/org/rsos/openbill/view/SignIn.mxml +67 -0
- data/src/org/rsos/openbill/vo/AccountVO.as +13 -0
- data/src/org/rsos/openbill/vo/CurrencyVO.as +18 -0
- data/src/org/rsos/openbill/vo/ProductVO.as +17 -0
- data/src/org/rsos/openbill/vo/RoleVO.as +14 -0
- data/src/org/rsos/openbill/vo/SettingVO.as +29 -0
- data/src/org/rsos/openbill/vo/UserVO.as +18 -0
- data/src/stylesheets/darkroom.css +1374 -0
- data/src/stylesheets/darkroom.swf +0 -0
- data/src/stylesheets/default.css +1034 -0
- data/src/stylesheets/myriad.swf +0 -0
- data/test/fixtures/accounts.yml +3 -0
- data/test/fixtures/billingcycles.yml +41 -0
- data/test/fixtures/currencies.yml +11 -0
- data/test/fixtures/emailtemplates.yml +8 -0
- data/test/fixtures/invoicedetails.yml +0 -0
- data/test/fixtures/invoices.yml +0 -0
- data/test/fixtures/options.yml +0 -0
- data/test/fixtures/orderdetails.yml +0 -0
- data/test/fixtures/orders.yml +0 -0
- data/test/fixtures/paymentgateways.yml +0 -0
- data/test/fixtures/products.yml +40 -0
- data/test/fixtures/registrarlogs.yml +0 -0
- data/test/fixtures/registrars.yml +4 -0
- data/test/fixtures/roles.yml +19 -0
- data/test/fixtures/serverlogs.yml +0 -0
- data/test/fixtures/servers.yml +0 -0
- data/test/fixtures/settings.yml +7 -0
- data/test/fixtures/tlds.yml +17 -0
- data/test/fixtures/transactions.yml +0 -0
- data/test/fixtures/userfieldnames.yml +9 -0
- data/test/fixtures/userfieldvalues.yml +11 -0
- data/test/fixtures/users.yml +28 -0
- data/test/functional/products_controller_test.rb +8 -8
- data/test/functional/sessions_controller_test.rb +8 -8
- data/test/functional/settings_controller_test.rb +8 -8
- data/test/integration/empty +0 -0
- data/test/unit/user_mailer_test.rb +7 -7
- data/test/unit/user_test.rb +7 -7
- data/vendor/generators/cairngorm/USAGE +7 -0
- data/vendor/generators/cairngorm/cairngorm_generator.rb +23 -0
- data/vendor/generators/cairngorm/templates/Controller_template.as +20 -0
- data/vendor/generators/cairngorm/templates/ModelLocator_template.as +29 -0
- data/vendor/generators/cairngorm/templates/Services_template.mxml +8 -0
- data/vendor/generators/cairngorm/templates/ValueObjectUtil_template.as +19 -0
- data/vendor/generators/cairngorm/templates/main_template.mxml +27 -0
- data/vendor/generators/command/USAGE +10 -0
- data/vendor/generators/command/command_generator.rb +8 -0
- data/vendor/generators/command/templates/command_template.as +39 -0
- data/vendor/generators/command/templates/event_template.as +26 -0
- data/vendor/generators/delegate/USAGE +8 -0
- data/vendor/generators/delegate/delegate_generator.rb +7 -0
- data/vendor/generators/delegate/templates/delegate_template.as +26 -0
- data/vendor/generators/event/USAGE +8 -0
- data/vendor/generators/event/event_generator.rb +7 -0
- data/vendor/generators/event/templates/event_template.as +26 -0
- data/vendor/generators/vo/USAGE +9 -0
- data/vendor/generators/vo/templates/vo_template.as +18 -0
- data/vendor/generators/vo/vo_generator.rb +7 -0
- data/vendor/generators/worbservice/USAGE +8 -0
- data/vendor/generators/worbservice/templates/service.rb +11 -0
- data/vendor/generators/worbservice/worbservice_generator.rb +7 -0
- data/vendor/plugins/enum-column/init.rb +9 -0
- data/vendor/plugins/enum-column/lib/enum/active_record_helper.rb +107 -0
- data/vendor/plugins/enum-column/lib/enum/enum_adapter.rb +76 -0
- data/vendor/plugins/enum-column/lib/enum/mysql_adapter.rb +33 -0
- data/vendor/plugins/enum-column/lib/enum/postgresql_adapter.rb +64 -0
- data/vendor/plugins/enum-column/lib/enum/quoting.rb +17 -0
- data/vendor/plugins/enum-column/lib/enum/schema_definitions.rb +12 -0
- data/vendor/plugins/enum-column/lib/enum/schema_statements.rb +32 -0
- data/vendor/plugins/enum-column/lib/enum/sqlite3_adapter.rb +52 -0
- data/vendor/plugins/enum-column/lib/enum/validations.rb +40 -0
- data/vendor/plugins/enum-column/readme.html +125 -0
- data/vendor/plugins/enum-column/test/db/schema.rb +28 -0
- data/vendor/plugins/enum-column/test/enum_mysql_test.rb +220 -0
- data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.drop.sql +32 -0
- data/vendor/plugins/enum-column/test/fixtures/db_definitions/mysql.sql +244 -0
- data/vendor/plugins/enum-column/test/fixtures/enumeration.rb +20 -0
- data/vendor/plugins/enum-column/test/test_helper.rb +18 -0
- data/vendor/plugins/restful-authentication/.gitignore +21 -0
- data/vendor/plugins/restful-authentication/CHANGELOG +68 -0
- data/vendor/plugins/restful-authentication/LICENSE +20 -0
- data/vendor/plugins/restful-authentication/README.textile +224 -0
- data/vendor/plugins/restful-authentication/Rakefile +32 -0
- data/vendor/plugins/restful-authentication/TODO +15 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/USAGE +1 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/authenticated_generator.rb +478 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/lib/insert_routes.rb +54 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/_model_partial.html.erb +8 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/activation.erb +3 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_system.rb +189 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/authenticated_test_helper.rb +22 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/controller.rb +43 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/accounts.feature +109 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/sessions.feature +134 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_env.rb +9 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_navigation_steps.rb +48 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_resource_steps.rb +178 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/ra_response_steps.rb +169 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/rest_auth_features_helper.rb +81 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/features/step_definitions/user_steps.rb +131 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/helper.rb +2 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/login.html.erb +16 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/mailer.rb +25 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/migration.rb +26 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/model.rb +83 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_controller.rb +85 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper.rb +93 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/model_helper_spec.rb +158 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/observer.rb +11 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup.html.erb +19 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/signup_notification.erb +8 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/site_keys.rb +38 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/access_control_spec.rb +90 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/authenticated_system_spec.rb +102 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/sessions_controller_spec.rb +139 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/controllers/users_controller_spec.rb +198 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/fixtures/users.yml +60 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/helpers/users_helper_spec.rb +141 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/spec/models/user_spec.rb +290 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/functional_test.rb +82 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/mailer_test.rb +31 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/model_functional_test.rb +93 -0
- data/vendor/plugins/restful-authentication/generators/authenticated/templates/test/unit_test.rb +164 -0
- data/vendor/plugins/restful-authentication/init.rb +1 -0
- data/vendor/plugins/restful-authentication/lib/authentication/by_cookie_token.rb +82 -0
- data/vendor/plugins/restful-authentication/lib/authentication/by_password.rb +64 -0
- data/vendor/plugins/restful-authentication/lib/authentication.rb +40 -0
- data/vendor/plugins/restful-authentication/lib/authorization/aasm_roles.rb +63 -0
- data/vendor/plugins/restful-authentication/lib/authorization/stateful_roles.rb +62 -0
- data/vendor/plugins/restful-authentication/lib/authorization.rb +14 -0
- data/vendor/plugins/restful-authentication/lib/trustification/email_validation.rb +20 -0
- data/vendor/plugins/restful-authentication/lib/trustification.rb +14 -0
- data/vendor/plugins/restful-authentication/notes/AccessControl.txt +2 -0
- data/vendor/plugins/restful-authentication/notes/Authentication.txt +5 -0
- data/vendor/plugins/restful-authentication/notes/Authorization.txt +154 -0
- data/vendor/plugins/restful-authentication/notes/RailsPlugins.txt +78 -0
- data/vendor/plugins/restful-authentication/notes/SecurityFramework.graffle +0 -0
- data/vendor/plugins/restful-authentication/notes/SecurityFramework.png +0 -0
- data/vendor/plugins/restful-authentication/notes/SecurityPatterns.txt +163 -0
- data/vendor/plugins/restful-authentication/notes/Tradeoffs.txt +126 -0
- data/vendor/plugins/restful-authentication/notes/Trustification.txt +49 -0
- data/vendor/plugins/restful-authentication/rails/init.rb +3 -0
- data/vendor/plugins/restful-authentication/restful-authentication.gemspec +33 -0
- data/vendor/plugins/restful-authentication/tasks/auth.rake +33 -0
- data/vendor/plugins/ruby-enom/README.markdown +37 -0
- data/vendor/plugins/ruby-enom/ruby-enom.rb +198 -0
- metadata +729 -8
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<actionScriptProperties mainApplicationPath="admin.mxml" version="3">
|
|
3
|
+
<compiler additionalCompilerArguments="-locale en_US" copyDependentFiles="true" enableModuleDebug="true" flexSDK="Flex 3.2" generateAccessible="true" htmlExpressInstall="true" htmlGenerate="true" htmlHistoryManagement="true" htmlPlayerVersion="10.0.22" htmlPlayerVersionCheck="true" outputFolderPath="public" sourceFolderPath="src" strict="true" useApolloConfig="false" verifyDigests="true" warn="true">
|
|
4
|
+
<compilerSourcePath/>
|
|
5
|
+
<libraryPath defaultLinkType="3">
|
|
6
|
+
<libraryPathEntry kind="4" path="">
|
|
7
|
+
<modifiedEntries>
|
|
8
|
+
<libraryPathEntry kind="3" linkType="4" path="${PROJECT_FRAMEWORKS}/libs/framework.swc" useDefaultLinkType="true">
|
|
9
|
+
<crossDomainRsls>
|
|
10
|
+
<crossDomainRslEntry autoExtract="true" policyFileUrl="" rslUrl="framework_3.0.0.477.swz"/>
|
|
11
|
+
<crossDomainRslEntry autoExtract="true" policyFileUrl="" rslUrl="framework_3.0.0.477.swf"/>
|
|
12
|
+
</crossDomainRsls>
|
|
13
|
+
</libraryPathEntry>
|
|
14
|
+
</modifiedEntries>
|
|
15
|
+
</libraryPathEntry>
|
|
16
|
+
<libraryPathEntry kind="3" linkType="1" path="src/libs/Cairngorm.swc" useDefaultLinkType="false"/>
|
|
17
|
+
<libraryPathEntry kind="3" linkType="1" path="src/libs/flexlib.swc" useDefaultLinkType="false"/>
|
|
18
|
+
</libraryPath>
|
|
19
|
+
<sourceAttachmentPath/>
|
|
20
|
+
</compiler>
|
|
21
|
+
<applications>
|
|
22
|
+
<application path="admin.mxml"/>
|
|
23
|
+
</applications>
|
|
24
|
+
<modules/>
|
|
25
|
+
<buildCSSFiles/>
|
|
26
|
+
</actionScriptProperties>
|
data/.flexProperties
ADDED
data/.gitignore
ADDED
data/.loadpath
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<loadpath>
|
|
3
|
+
<pathentry path="" type="src"/>
|
|
4
|
+
<pathentry path="org.rubypeople.rdt.launching.RUBY_CONTAINER" type="con"/>
|
|
5
|
+
<pathentry path="GEM_LIB/activesupport-2.2.2/lib" type="var"/>
|
|
6
|
+
<pathentry path="GEM_LIB/actionpack-2.2.2/lib" type="var"/>
|
|
7
|
+
</loadpath>
|
data/.project
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<projectDescription>
|
|
3
|
+
<name>openbill</name>
|
|
4
|
+
<comment></comment>
|
|
5
|
+
<projects>
|
|
6
|
+
</projects>
|
|
7
|
+
<buildSpec>
|
|
8
|
+
<buildCommand>
|
|
9
|
+
<name>com.adobe.flexbuilder.project.flexbuilder</name>
|
|
10
|
+
<arguments>
|
|
11
|
+
</arguments>
|
|
12
|
+
</buildCommand>
|
|
13
|
+
<buildCommand>
|
|
14
|
+
<name>org.rubypeople.rdt.core.rubybuilder</name>
|
|
15
|
+
<arguments>
|
|
16
|
+
</arguments>
|
|
17
|
+
</buildCommand>
|
|
18
|
+
</buildSpec>
|
|
19
|
+
<natures>
|
|
20
|
+
<nature>org.rubypeople.rdt.core.rubynature</nature>
|
|
21
|
+
<nature>com.adobe.flexbuilder.project.flexnature</nature>
|
|
22
|
+
<nature>com.adobe.flexbuilder.project.actionscriptnature</nature>
|
|
23
|
+
</natures>
|
|
24
|
+
</projectDescription>
|
data/CONTRIBUTORS
ADDED
data/INSTALL
ADDED
data/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
== MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2009, Siddhartha Mukherjee - (http://rsos.in)
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1
|
+
== MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2009, Siddhartha Mukherjee - (http://rsos.in)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
data/README
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
== openbill - Open source web hosting billing platform
|
|
2
|
-
|
|
3
|
-
Currently we are working to make openbill a complete open source solution web hosting companies.
|
|
4
|
-
And we have plans to make it a more generalized billing solution that can serve the whole e-commerce market.
|
|
5
|
-
|
|
6
|
-
== Features List
|
|
7
|
-
Here you will find a comprehensive list of the key features will be offered by openbill.
|
|
8
|
-
|
|
9
|
-
Billing
|
|
10
|
-
-Automated Invoicing
|
|
11
|
-
-Manual Invoicing
|
|
12
|
-
-Automated Payment Processing
|
|
13
|
-
-Tax Support
|
|
14
|
-
-PDF Invoices
|
|
15
|
-
-Email/Print Invoices
|
|
16
|
-
-Multiple currency
|
|
17
|
-
-Automated Creation
|
|
18
|
-
-Automated Suspension
|
|
19
|
-
-Reminders & Overdue Notices
|
|
20
|
-
|
|
21
|
-
User/Customer
|
|
22
|
-
-Fully customizable based on html/ajax
|
|
23
|
-
-Custom fields for user/customers
|
|
24
|
-
-Order and Invoice
|
|
25
|
-
-Choice of billing cycle per order
|
|
26
|
-
-Domain availability search
|
|
27
|
-
|
|
28
|
-
Admin
|
|
29
|
-
-Rich user interface based on built on flex/action script
|
|
30
|
-
-Products
|
|
31
|
-
-Customers
|
|
32
|
-
-Orders
|
|
33
|
-
-Invoices
|
|
34
|
-
-Settings
|
|
35
|
-
-Billing cycles
|
|
36
|
-
-Registrars
|
|
37
|
-
-TLDs
|
|
38
|
-
-Payment methods
|
|
39
|
-
-Servers
|
|
40
|
-
-Taxes
|
|
41
|
-
-Email templates
|
|
42
|
-
-Subdomains
|
|
43
|
-
-Own domain
|
|
44
|
-
-Domain Transfer
|
|
45
|
-
|
|
46
|
-
This is an incomplete list…more will be added soon
|
|
47
|
-
|
|
48
|
-
== License
|
|
49
|
-
|
|
50
|
-
openbill is released under the MIT license and is copyright (c) 2009
|
|
51
|
-
Siddhartha Mukherjee - (http://rsos.in).
|
|
52
|
-
A copy of the MIT license can be found in the LICENSE file.
|
|
53
|
-
|
|
54
|
-
== Installation and Setup
|
|
55
|
-
|
|
56
|
-
openbill is a traditional Ruby on Rails application, meaning that you can
|
|
57
|
-
configure and run it the way you would a normal Rails application.
|
|
58
|
-
See the INSTALL file for more details.
|
|
59
|
-
|
|
60
|
-
Enjoy!
|
|
61
|
-
|
|
62
|
-
--
|
|
63
|
-
Siddhartha Mukherjee
|
|
1
|
+
== openbill - Open source web hosting billing platform
|
|
2
|
+
|
|
3
|
+
Currently we are working to make openbill a complete open source solution web hosting companies.
|
|
4
|
+
And we have plans to make it a more generalized billing solution that can serve the whole e-commerce market.
|
|
5
|
+
|
|
6
|
+
== Features List
|
|
7
|
+
Here you will find a comprehensive list of the key features will be offered by openbill.
|
|
8
|
+
|
|
9
|
+
Billing
|
|
10
|
+
-Automated Invoicing
|
|
11
|
+
-Manual Invoicing
|
|
12
|
+
-Automated Payment Processing
|
|
13
|
+
-Tax Support
|
|
14
|
+
-PDF Invoices
|
|
15
|
+
-Email/Print Invoices
|
|
16
|
+
-Multiple currency
|
|
17
|
+
-Automated Creation
|
|
18
|
+
-Automated Suspension
|
|
19
|
+
-Reminders & Overdue Notices
|
|
20
|
+
|
|
21
|
+
User/Customer
|
|
22
|
+
-Fully customizable based on html/ajax
|
|
23
|
+
-Custom fields for user/customers
|
|
24
|
+
-Order and Invoice
|
|
25
|
+
-Choice of billing cycle per order
|
|
26
|
+
-Domain availability search
|
|
27
|
+
|
|
28
|
+
Admin
|
|
29
|
+
-Rich user interface based on built on flex/action script
|
|
30
|
+
-Products
|
|
31
|
+
-Customers
|
|
32
|
+
-Orders
|
|
33
|
+
-Invoices
|
|
34
|
+
-Settings
|
|
35
|
+
-Billing cycles
|
|
36
|
+
-Registrars
|
|
37
|
+
-TLDs
|
|
38
|
+
-Payment methods
|
|
39
|
+
-Servers
|
|
40
|
+
-Taxes
|
|
41
|
+
-Email templates
|
|
42
|
+
-Subdomains
|
|
43
|
+
-Own domain
|
|
44
|
+
-Domain Transfer
|
|
45
|
+
|
|
46
|
+
This is an incomplete list…more will be added soon
|
|
47
|
+
|
|
48
|
+
== License
|
|
49
|
+
|
|
50
|
+
openbill is released under the MIT license and is copyright (c) 2009
|
|
51
|
+
Siddhartha Mukherjee - (http://rsos.in).
|
|
52
|
+
A copy of the MIT license can be found in the LICENSE file.
|
|
53
|
+
|
|
54
|
+
== Installation and Setup
|
|
55
|
+
|
|
56
|
+
openbill is a traditional Ruby on Rails application, meaning that you can
|
|
57
|
+
configure and run it the way you would a normal Rails application.
|
|
58
|
+
See the INSTALL file for more details.
|
|
59
|
+
|
|
60
|
+
Enjoy!
|
|
61
|
+
|
|
62
|
+
--
|
|
63
|
+
Siddhartha Mukherjee
|
|
64
64
|
http://rsos.in
|
data/Rakefile
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
|
2
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
|
3
|
+
|
|
4
|
+
require(File.join(File.dirname(__FILE__), 'config', 'boot'))
|
|
5
|
+
|
|
6
|
+
require 'rake'
|
|
7
|
+
require 'rake/testtask'
|
|
8
|
+
require 'rake/rdoctask'
|
|
9
|
+
|
|
10
|
+
require 'tasks/rails'
|
|
11
|
+
|
|
12
|
+
begin
|
|
13
|
+
require 'jeweler'
|
|
14
|
+
Jeweler::Tasks.new do |gemspec|
|
|
15
|
+
gemspec.name = "openbill"
|
|
16
|
+
gemspec.summary = "Open source web hosting billing platform"
|
|
17
|
+
gemspec.email = "support@rsos.in"
|
|
18
|
+
gemspec.homepage = "http://rsos.in"
|
|
19
|
+
gemspec.description = "Open source web hosting billing platform"
|
|
20
|
+
gemspec.authors = ["Siddhartha Mukherjee"]
|
|
21
|
+
gemspec.rubyforge_project = 'openbill'
|
|
22
|
+
end
|
|
23
|
+
rescue LoadError
|
|
24
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
begin
|
|
28
|
+
require 'rake/contrib/sshpublisher'
|
|
29
|
+
namespace :rubyforge do
|
|
30
|
+
|
|
31
|
+
desc "Release gem and RDoc documentation to RubyForge"
|
|
32
|
+
task :release => ["rubyforge:release:gem", "rubyforge:release:docs"]
|
|
33
|
+
|
|
34
|
+
namespace :release do
|
|
35
|
+
desc "Publish RDoc to RubyForge."
|
|
36
|
+
task :docs => [:rdoc] do
|
|
37
|
+
config = YAML.load(
|
|
38
|
+
File.read(File.expand_path('~/.rubyforge/user-config.yml'))
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
host = "#{config['username']}@rubyforge.org"
|
|
42
|
+
remote_dir = "/var/www/gforge-projects/openbill/"
|
|
43
|
+
local_dir = 'rdoc'
|
|
44
|
+
|
|
45
|
+
Rake::SshDirPublisher.new(host, remote_dir, local_dir).upload
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
rescue LoadError
|
|
50
|
+
puts "Rake SshDirPublisher is unavailable or your rubyforge environment is not configured."
|
|
51
|
+
end
|
data/VERSION
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.1.5
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
require 'universal_ruby_whois'
|
|
2
|
+
require 'money'
|
|
3
|
+
|
|
4
|
+
module ActiveSupport
|
|
5
|
+
module CoreExtensions
|
|
6
|
+
module Hash
|
|
7
|
+
module Conversions
|
|
8
|
+
unless method_defined? :old_to_xml
|
|
9
|
+
alias_method :old_to_xml, :to_xml
|
|
10
|
+
def to_xml(options = {})
|
|
11
|
+
options.merge!(:dasherize => false)
|
|
12
|
+
old_to_xml(options)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
module Array
|
|
19
|
+
module Conversions
|
|
20
|
+
unless method_defined? :old_to_xml
|
|
21
|
+
alias_method :old_to_xml, :to_xml
|
|
22
|
+
def to_xml(options = {})
|
|
23
|
+
options.merge!(:dasherize => false)
|
|
24
|
+
old_to_xml(options)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
module ActiveRecord
|
|
32
|
+
module Serialization
|
|
33
|
+
unless method_defined? :old_to_xml
|
|
34
|
+
alias_method :old_to_xml, :to_xml
|
|
35
|
+
def to_xml(options = {})
|
|
36
|
+
options.merge!(:dasherize => false)
|
|
37
|
+
old_to_xml(options)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class ApplicationController < ActionController::Base
|
|
44
|
+
|
|
45
|
+
include AuthenticatedSystem
|
|
46
|
+
|
|
47
|
+
helper :all
|
|
48
|
+
|
|
49
|
+
end
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
class CartsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
layout 'default'
|
|
4
|
+
|
|
5
|
+
before_filter :init_cart
|
|
6
|
+
|
|
7
|
+
def order
|
|
8
|
+
|
|
9
|
+
@products = @account.products.find(:all);
|
|
10
|
+
if @order.orderdetails.length > 0
|
|
11
|
+
@product = @order.orderdetails[0].product
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def show_product_details
|
|
17
|
+
|
|
18
|
+
@product = @account.products.find(params[:id]) unless params[:id]==nil
|
|
19
|
+
|
|
20
|
+
render :partial => "product_details"
|
|
21
|
+
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def products_list
|
|
25
|
+
|
|
26
|
+
@products = @account.products.find(:all);
|
|
27
|
+
|
|
28
|
+
render :partial => "products_list"
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def cart_details
|
|
33
|
+
|
|
34
|
+
render :partial => "cart_details"
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def empty_cart
|
|
39
|
+
|
|
40
|
+
session[:order] = Order.new
|
|
41
|
+
session[:order].user = @user
|
|
42
|
+
@order = session[:order]
|
|
43
|
+
|
|
44
|
+
redirect_to :action => 'order'
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def add_product_to_cart
|
|
49
|
+
|
|
50
|
+
begin
|
|
51
|
+
if @order.orderdetails.length>0
|
|
52
|
+
@order.orderdetails[0].product = @account.products.find(params[:id])
|
|
53
|
+
else
|
|
54
|
+
orderdetail = Orderdetail.new
|
|
55
|
+
orderdetail.product = @account.products.find(params[:id])
|
|
56
|
+
@order.orderdetails = Array.new
|
|
57
|
+
@order.orderdetails << orderdetail
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
session[:order] = @order
|
|
61
|
+
rescue StandardError => e
|
|
62
|
+
puts e
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
cart_details
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
def add_product_billingcycle_to_cart
|
|
70
|
+
|
|
71
|
+
begin
|
|
72
|
+
if @order.orderdetails.length>0
|
|
73
|
+
@order.orderdetails[0].billingcycle = Billingcycle.find(params[:id])
|
|
74
|
+
else
|
|
75
|
+
orderdetail = Orderdetail.new
|
|
76
|
+
orderdetail.product = Billingcycle.find(params[:id]).product
|
|
77
|
+
orderdetail.billingcycle = Billingcycle.find(params[:id])
|
|
78
|
+
@order.orderdetails = Array.new
|
|
79
|
+
@order.orderdetails << orderdetail
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
session[:order] = @order
|
|
83
|
+
rescue StandardError => e
|
|
84
|
+
puts e
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
cart_details
|
|
88
|
+
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
def check_domain_availability
|
|
92
|
+
|
|
93
|
+
template = "check_domain_availability"
|
|
94
|
+
|
|
95
|
+
begin
|
|
96
|
+
domain_name = params[:sld]+"."+params[:tld]
|
|
97
|
+
domain = Whois.find(domain_name)
|
|
98
|
+
if domain.available?
|
|
99
|
+
template = "new_domain_available"
|
|
100
|
+
else
|
|
101
|
+
template = "new_domain_not_available"
|
|
102
|
+
end
|
|
103
|
+
rescue StandardError => e
|
|
104
|
+
puts e
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
render :partial => template
|
|
108
|
+
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
def add_domain_to_cart
|
|
113
|
+
|
|
114
|
+
domain_name = params[:sld]+"."+params[:tld]
|
|
115
|
+
|
|
116
|
+
begin
|
|
117
|
+
if @order.orderdetails.length>0
|
|
118
|
+
@order.orderdetails[0].domain_name = domain_name
|
|
119
|
+
@order.orderdetails[0].tld = Tld.find_by_tld_name(params[:tld])
|
|
120
|
+
else
|
|
121
|
+
orderdetail = Orderdetail.new
|
|
122
|
+
orderdetail.domain_name = domain_name
|
|
123
|
+
orderdetail.tld = Tld.find_by_tld_name(params[:tld])
|
|
124
|
+
@order.orderdetails = Array.new
|
|
125
|
+
@order.orderdetails << orderdetail
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
session[:order] = @order
|
|
129
|
+
rescue StandardError => e
|
|
130
|
+
puts e
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
cart_details
|
|
134
|
+
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
def customer
|
|
138
|
+
if params[:do]!=nil
|
|
139
|
+
if params[:do]=="login"
|
|
140
|
+
logout_keeping_session!
|
|
141
|
+
user = User.authenticate(params[:login], params[:password])
|
|
142
|
+
if user && user.role.role_name == "Customer"
|
|
143
|
+
self.current_user = user
|
|
144
|
+
new_cookie_flag = (params[:remember_me] == "1")
|
|
145
|
+
handle_remember_cookie! new_cookie_flag
|
|
146
|
+
flash[:notice] = "Logged in successfully"
|
|
147
|
+
@user = User.find(self.current_user.id)
|
|
148
|
+
else
|
|
149
|
+
note_failed_signin
|
|
150
|
+
@login = params[:login]
|
|
151
|
+
@remember_me = params[:remember_me]
|
|
152
|
+
@user = User.new
|
|
153
|
+
end
|
|
154
|
+
init_cart
|
|
155
|
+
else
|
|
156
|
+
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def signup
|
|
162
|
+
|
|
163
|
+
render :partial => "signupbox"
|
|
164
|
+
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
def login
|
|
168
|
+
|
|
169
|
+
render :partial => "loginbox"
|
|
170
|
+
|
|
171
|
+
end
|
|
172
|
+
|
|
173
|
+
def logout
|
|
174
|
+
|
|
175
|
+
logout_killing_session!
|
|
176
|
+
flash[:notice] = "You have been logged out."
|
|
177
|
+
@user = User.new
|
|
178
|
+
|
|
179
|
+
redirect_to :action => 'order'
|
|
180
|
+
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
def checkout
|
|
184
|
+
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
protected
|
|
188
|
+
def note_failed_signin
|
|
189
|
+
flash[:error] = "Couldn't log you in as '#{params[:login]}'"
|
|
190
|
+
logger.warn "Failed login for '#{params[:login]}' from #{request.remote_ip} at #{Time.now.utc}"
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
private
|
|
194
|
+
def init_cart
|
|
195
|
+
|
|
196
|
+
if authorized?
|
|
197
|
+
@user = User.find(current_user.id)
|
|
198
|
+
if @user.role.role_name == "Customer"
|
|
199
|
+
session[:account_id] = @user.account_id
|
|
200
|
+
else
|
|
201
|
+
logout_killing_session!
|
|
202
|
+
end
|
|
203
|
+
else
|
|
204
|
+
@user = User.new
|
|
205
|
+
@user.account_id = session[:account_id]
|
|
206
|
+
end
|
|
207
|
+
|
|
208
|
+
if params[:account_id]!=nil
|
|
209
|
+
session[:account_id] = params[:account_id]
|
|
210
|
+
elsif session[:account_id]==nil
|
|
211
|
+
session[:account_id]=1
|
|
212
|
+
end
|
|
213
|
+
|
|
214
|
+
if session[:order]==nil
|
|
215
|
+
session[:order] = Order.new
|
|
216
|
+
session[:order].user = @user
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
@account = Account.find(session[:account_id])
|
|
220
|
+
@setting = @account.settings.find(:first)
|
|
221
|
+
@tlds = @account.tlds
|
|
222
|
+
@order = session[:order]
|
|
223
|
+
|
|
224
|
+
end
|
|
225
|
+
|
|
226
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
class ProductsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
before_filter :login_required
|
|
4
|
+
|
|
5
|
+
def index
|
|
6
|
+
@products = User.find(current_user.id).account.products
|
|
7
|
+
render :xml => @products, :status => :ok
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def update
|
|
11
|
+
@products = User.find(current_user.id).account.products.find(params[:id])
|
|
12
|
+
if @products.update_attributes(params[:products])
|
|
13
|
+
flash[:notice] = 'Products was successfully updated.'
|
|
14
|
+
render :xml => @products, :status => :ok
|
|
15
|
+
else
|
|
16
|
+
render :xml => @products.errors, :status => :ok
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
class SessionsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
def create
|
|
4
|
+
if authorized? && User.find(self.current_user.id).role.role_name == params[:role_name]
|
|
5
|
+
@user = User.find(self.current_user.id)
|
|
6
|
+
render :xml => @user.to_xml(:include => [:role, :account, :settings, :currencies], :except => [:activation_code,:crypted_password,:salt, :remember_token, :remember_token_expires_at]), :status=>:ok
|
|
7
|
+
else
|
|
8
|
+
logout_keeping_session!
|
|
9
|
+
user = User.authenticate(params[:login], params[:password])
|
|
10
|
+
if user && user.role.role_name == params[:role_name]
|
|
11
|
+
self.current_user = user
|
|
12
|
+
new_cookie_flag = (params[:remember_me] == "1")
|
|
13
|
+
handle_remember_cookie! new_cookie_flag
|
|
14
|
+
flash[:notice] = "Logged in successfully"
|
|
15
|
+
@user = User.find(self.current_user.id)
|
|
16
|
+
render :xml => @user.to_xml(:include => [:role, :account, :settings, :currencies], :except => [:activation_code,:crypted_password,:salt, :remember_token, :remember_token_expires_at]), :status=>:ok
|
|
17
|
+
else
|
|
18
|
+
note_failed_signin
|
|
19
|
+
@login = params[:login]
|
|
20
|
+
@remember_me = params[:remember_me]
|
|
21
|
+
@user = User.new
|
|
22
|
+
render :xml => @user.to_xml(:only => [:id]), :status=>:ok
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def destroy
|
|
28
|
+
logout_killing_session!
|
|
29
|
+
flash[:notice] = "You have been logged out."
|
|
30
|
+
@user = User.new
|
|
31
|
+
render :xml => @user.to_xml(:only => [:id]), :status=>:ok
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
protected
|
|
35
|
+
def note_failed_signin
|
|
36
|
+
flash[:error] = "Couldn't log you in as '#{params[:login]}'"
|
|
37
|
+
logger.warn "Failed login for '#{params[:login]}' from #{request.remote_ip} at #{Time.now.utc}"
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
class SettingsController < ApplicationController
|
|
2
|
+
|
|
3
|
+
before_filter :login_required
|
|
4
|
+
|
|
5
|
+
def update
|
|
6
|
+
@setting = User.find(current_user.id).settings.find(params[:id])
|
|
7
|
+
if @setting.update_attributes(params[:setting])
|
|
8
|
+
flash[:notice] = 'Settings was successfully updated.'
|
|
9
|
+
render :xml => @setting, :status => :ok
|
|
10
|
+
else
|
|
11
|
+
render :xml => @setting.errors, :status => :ok
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|