openbill 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|