Permalink
Browse files

OSC PRO v 4.0.1

Olá pessoal gostaria de comunicar estou abrindo o source do OSC pro 4.0
como Free, acho que a necessidade desse módulo é muito grande e sua
importância para comunidade também para que eu possa simplesmente travas
somente vendas do mesmo! :)

OBS: Isso não quer dizer que não aceitarei mais doações rs, seram sempre
bem vindas em:
http://www.deivison.com.br/blog/2012/08/11/osc-magento-brasil-magento-one-step-checkout-free-e-normatizado-para-o-brasil/

Obrigado a todos!
Peço apenas que se possível seja colaborado com novas atualizações e
ajuda na reportagem dos erros para que os mesmo possam ser corrigidos.

Obs: De inicio tenho certeza que haverá alguns probleminhas a serem
consertados, mas acredito que juntos conseguiremos fazer algo estável!

Conto com vocês!
  • Loading branch information...
deivisonarthur committed Oct 22, 2012
0 parents commit 65f1d26b1b414d6d550f903260af2d69b28b15af
Showing with 23,798 additions and 0 deletions.
  1. +5 −0 Link para gerar o serial do OSC PRO 4.0.url
  2. +119 −0 README.md
  3. +14 −0 ...code/local/DeivisonArthur/OnepageCheckout/Adminhtml/Model/System/Config/Source/AddressOptions.php
  4. +13 −0 ...de/local/DeivisonArthur/OnepageCheckout/Adminhtml/Model/System/Config/Source/AgreementOptions.php
  5. +20 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Agreements.php
  6. +17 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Links.php
  7. +101 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Onepage/Billship.php
  8. +20 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Onepage/Link.php
  9. +10 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Widget/Dob.php
  10. +9 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Widget/Gender.php
  11. +9 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Widget/Name.php
  12. +9 −0 app/code/local/DeivisonArthur/OnepageCheckout/Block/Widget/Taxvat.php
  13. +67 −0 app/code/local/DeivisonArthur/OnepageCheckout/Helper/Data.php
  14. +8 −0 app/code/local/DeivisonArthur/OnepageCheckout/Helper/Url.php
  15. +29 −0 app/code/local/DeivisonArthur/OnepageCheckout/Model/Entity/Tipopessoa.php
  16. +29 −0 app/code/local/DeivisonArthur/OnepageCheckout/Model/Observer.php
  17. +30 −0 app/code/local/DeivisonArthur/OnepageCheckout/Model/Service/Quote.php
  18. +850 −0 app/code/local/DeivisonArthur/OnepageCheckout/Model/Type/Geo.php
  19. +659 −0 app/code/local/DeivisonArthur/OnepageCheckout/controllers/IndexController.php
  20. +22 −0 app/code/local/DeivisonArthur/OnepageCheckout/etc/adminhtml.xml
  21. +319 −0 app/code/local/DeivisonArthur/OnepageCheckout/etc/config.xml
  22. +593 −0 app/code/local/DeivisonArthur/OnepageCheckout/etc/system.xml
  23. +764 −0 app/code/local/DeivisonArthur/OnepageCheckout/sql/onepagecheckout_setup/mysql4-install-3.0.2.php
  24. +21 −0 app/code/local/DeivisonArthur/OnepageCheckout/sql/onepagecheckout_setup/mysql4-upgrade-4.0.0.php
  25. +153 −0 app/design/frontend/base/default/layout/onepagecheckout.xml
  26. +39 −0 app/design/frontend/base/default/template/onepagecheckout/cart/noItems.phtml
  27. +40 −0 app/design/frontend/base/default/template/onepagecheckout/forgotpassword.phtml
  28. +48 −0 app/design/frontend/base/default/template/onepagecheckout/login.phtml
  29. +36 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/agreements.phtml
  30. +945 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/billing.phtml
  31. +60 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/coupon.phtml
  32. +5 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/link.phtml
  33. +33 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/payment.phtml
  34. +27 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/payment/methods.phtml
  35. +16 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/review.phtml
  36. +34 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/review/info.phtml
  37. +117 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/review/item.phtml
  38. +17 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/review/totals.phtml
  39. +470 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/shipping.phtml
  40. +15 −0 app/design/frontend/base/default/template/onepagecheckout/onepage/shipping_method.phtml
  41. +159 −0 app/design/frontend/base/default/template/onepagecheckout/onepagecheckout.phtml
  42. +115 −0 app/design/frontend/base/default/template/onepagecheckout/persistent/customer/address/book.phtml
  43. +217 −0 app/design/frontend/base/default/template/onepagecheckout/persistent/customer/address/edit.phtml
  44. +410 −0 app/design/frontend/base/default/template/onepagecheckout/persistent/customer/form/edit.phtml
  45. +402 −0 app/design/frontend/base/default/template/onepagecheckout/persistent/customer/form/register.phtml
  46. +42 −0 app/design/frontend/base/default/template/onepagecheckout/widget/dob.phtml
  47. +13 −0 app/design/frontend/base/default/template/onepagecheckout/widget/gender.phtml
  48. +66 −0 app/design/frontend/base/default/template/onepagecheckout/widget/name.phtml
  49. +7 −0 app/design/frontend/base/default/template/onepagecheckout/widget/taxvat.phtml
  50. +9 −0 app/etc/modules/DeivisonArthur_OnepageCheckout.xml
  51. +75 −0 app/locale/en_US/DeivisonArthur_OnepageCheckout.csv
  52. +75 −0 app/locale/pt_BR/DeivisonArthur_OnepageCheckout.csv
  53. +26 −0 html OSC 4.0.txt
  54. +186 −0 skin/frontend/base/default/css/onepagecheckout.css
  55. +187 −0 skin/frontend/base/default/deivison/buscacep.php
  56. +596 −0 skin/frontend/base/default/deivison/deivison.js
  57. +8,939 −0 skin/frontend/base/default/deivison/jquery.js
  58. +7 −0 skin/frontend/base/default/deivison/jquery.maskedinput-1.2.2.min.js
  59. +5,702 −0 skin/frontend/base/default/deivison/phpQuery-onefile.php
  60. BIN skin/frontend/base/default/images/onepagecheckout/Thumbs.db
  61. BIN skin/frontend/base/default/images/onepagecheckout/buttonbg.gif
  62. BIN skin/frontend/base/default/images/onepagecheckout/buttonbgsmall.gif
  63. BIN skin/frontend/base/default/images/onepagecheckout/cancel.png
  64. BIN skin/frontend/base/default/images/onepagecheckout/cancel_round.png
  65. BIN skin/frontend/base/default/images/onepagecheckout/cartOSC.png
  66. BIN skin/frontend/base/default/images/onepagecheckout/close.png
  67. BIN skin/frontend/base/default/images/onepagecheckout/loader.gif
  68. BIN skin/frontend/base/default/images/onepagecheckout/osc-brasil-adm.png
  69. BIN skin/frontend/base/default/images/onepagecheckout/osc-brasilp.png
  70. BIN skin/frontend/base/default/images/onepagecheckout/place-order.jpg
  71. BIN skin/frontend/base/default/images/onepagecheckout/shd-medium.png
  72. +773 −0 skin/frontend/base/default/js/onepagecheckout.js
@@ -0,0 +1,5 @@
+[{000214A0-0000-0000-C000-000000000046}]
+Prop3=19,2
+[InternetShortcut]
+URL=http://onestepcheckout.com.br/LojaModelo/keygen/
+IDList=
119 README.md
@@ -0,0 +1,119 @@
+Módulo OSC-Magento-Brasil – Normatização do módulo para o padrão brasileiro
+=================
+O projeto OCS-MAgento-Brasil é uma iniciativa para traduzir e adaptar o módulo free de OSC(One Step Checkout) para Magento chamado IWD OnePageCheckout. O módulo irá traduzir, adicionar estados, formatar, validar campos e adicionar novos campos. Iremos tratar os principais campos, como: Rua, Bairro, Cidade, Estado, Cep com busca por Ajax com busca nos Correios, CPF/CNPJ, IE(Inscrição Estadual), tipo pessoa, Telefone, Celular,…
+
+Importante!
+=================
+#####################################################################
+# Faça sempre backup antes de realizar qualquer modificação! #
+#####################################################################
+
+
+Oque esse módulo irá fazer?
+=================
+
+Com o módulo OSC-Magento-Brasil irá se ter o meio mais famoso de checkout do Magento conhecido por OSC(One Step Checkout) e iremos fazer outros ajustes, como:
+
+* Tradução dos Campos do formulário. (feito!)
+* Inclusão dos estados brasileiros. (feito!)
+* Remodelação do campo endereço do magento de 4 linhas. Dividindo e formatando para Endereço, Número, Bairro e Cidade. (feito!)
+* Utilização do campo taxvat por padrão como campo de CPF/CNPJ. (feito!)
+* Busca do endereço por ajax direto do site dos Correios. (feito!)
+* Formatação dos campos por máscara. Exe: Telefone com 9 ou 8 dígitos (99) ?9999-9999. (feito!)
+* Inclusão do campo tipo pessoa (Física ou Jurídica) (feito!)
+* IE(Inscrição Estadual) para gereção da NFE (feito!)
+* Inclusão do campo RG(Identidade) (feito!)
+* Opção de desligar todos os campos (feito!)
+* Opção de atribuição de obrigatório em todos os campos (feito!)
+* E outras coisas mais
+
+Também pretendo implementar opções de segurança, como:
+
+* Detecção de utilização de proxy com envio de email ao administrador
+* Detecção de compras suspeitas com envio de email ao administrador (Irá verificar por Geolocalização local onde foi feito a compra e bater com o local de entrega)
+* Integração com o sistema de detecção de fraude Maxmind (http://www.maxmind.com)
+
+veja mais dicas sobre análise de risco e fraude no Magento em:
+http://www.deivison.com.br/blog/2012/07/25/modulo-de-analise-de-risco-e-fraude-no-magento-sem-mensalidade/
+
+Observações Importantes!
+=================
+Por motivos de segurança, recomendamos que faça sempre o download desse módulo diretamente no Github ou aqui no site do projeto. Atualmente na web, muitas pessoas mau intencionadas pegam templates e projetos Open Source, descompactam, inserem scripts maliciosos em js criptografados e redistribuem na web! Outra modalidade de pessoas mau intencionadas são as que pegam o projeto Open Source feito na integra, não realizam nenhuma alteração e redistribuem na web como se fosse a pessoa responsável ou participante no projeto, sem que ao menos terem adicionado uma linha sequer ao projeto!
+
+Dessa forma prestigiaram e incentivaram os mantenedores do projeto e terão a garantia de não pegar o módulos com scripts maliciosos!
+
+Projeto 100% auditado pelos mantenedores no Github!
+
+Considerações finais do projeto
+=================
+Realmente fazer essas customizações, nos deu muito trabalho e noites viradas, mas acreditamos ter valido a pena!
+Foi fundamental para o desenvolvimentos desse módulo nossas buscas incessantes de aperfeiçoamento em desenvolvimento no Magento e da ratificação da real necessidade de termos um módulo padronizado para o Brasil. E assim nos livrar do POG a cada instalação de um e-commerce! rs
+Um cuidado e observação nossa, foi desenvolver o módulo para trabalhar de forma genérica para assim atender as necessidades básicas descritas por nós e por emails e comentários enviados.
+
+Procuramos fazer todas as customizações seguindo as rigorosas padronizações do Zend, assim acreditamos ter criado um módulo robusto e que irá suprir e contribuir muito para a comunidade.
+
+Pensei por diversas vezes em colocar ou não esse módulo FREE! Por um lado eu poderia ter criptografado o módulo com o Ioncube e ter ganhado um bom dinheiro com ele, pois como podemos ver esse mesmo módulo sem customização nehuma é vendido pelos grandes cases em Magento de R$500 a R$1.200 reais. Mas por outro lado, pesou muito a contribuiçao e a nossa mente Open Source, onde acreditamos que o maior valor adquirido foi o conhecimento e a possibilidade do aumento infinito intelectual ao projeto!
+
+
+PS: Coloquei o projeto como sendo versão final, mas na verdade sei que será somente o começo né rsrs, pois sei oque o volume que receberei de dicas e acertos vai ser muito grande! Na verdade a versão final representará o ponto que irei pegar bem menos para mexer no projeto e deixarei o projeto aberto mais a contribuições da comunidade pelo Github.
+
+
+Release da versão Final 3.0
+=================
+1 Controle do conflito na duplicidade dos dados instalados (Ou seja, antes caso opta-se por reinstalar o módulos estava dando o erro no bd de campos duplicados. Acontecia isso com os estados e com os novos campos, caso já os tinha no bd. Já nessa versão o sistema faz a verificação da existencia no bd de todos os campos e dos estados.)
+2 Controle de todos os campos pela ADM por exibir ou não e/ou de serem ou não obrigatório.
+3 Campos configuráveis no registro dos usuários: CFP/CNPJ, Empresa, IE e Identidade.
+4 Campos configuráveis do reponsável pelo recebimento no envio: CFP/CNPJ, IE, Identidade e Celular.
+5 Opção de habilitar ou desabilitar a biblioteca Jquery.
+6 Opção de habilitar ou desabilitar a Formatação do campo CEP (Pois componentes como o Matrix Rates não permitem o "-", apenas os números).
+7 Opção de escolha do campo CPF/CNPJ pelo taxvat ou não.
+8 Exibição de todos os campos nos dados da ordem de serviço.
+9 Escolha da exibição do link de login pelo box OSC ou pela tela nativa do Magento.
+
+Release da versão Beta 2.0
+=================
+* Adicionado formatação dos campos telephone e fax com 8 ou 9 digitos por Expreg onde também altera o maxlength. E adicionado formatação do campo taxvat(CPF/CNPJ)
+
+Site e comunidade do projeto:
+=================
+http://onestepcheckout.com.br/
+
+Demostração online do projeto:
+=================
+http://onestepcheckout.com.br/final3/magento-1.5.1.0/onestep-magento-1-5-1-1.html
+
+Tutorial para instalação e tratamentos de erros:
+=================
+#########################################################################################################################
+http://www.deivison.com.br/blog/2012/08/11/osc-magento-brasil-magento-one-step-checkout-free-e-normatizado-para-o-brasil/
+#########################################################################################################################
+
+Desenvolvedores e mantenedores do projeto Módulo OSC-Magento-Brasil:
+=================
+* Deivison Arthur Lemos Serpa
+http://www.deivison.com.br
+* Denis Colli Spalenza
+http://www.xpdev.com.br
+
+Versão do projeto:
+=================
+O módulo ainda encontra-se em fase de desenvolvimento! Ou seja, Estágio Final – v 3.0 para testes e homologação!
+
+Créditos:
+=================
+* Projeto base de OSC utilizado: http://www.interiorwebdesign.com/magento/magento-one-step-checkout-module.html
+* Instação dos estados por Alex Braga: http://www.alexbraga.net
+* Script base para implementação da busca do CEP por Ajax: http://www.pinceladasdaweb.com.br/blog/2012/01/31/webservice-consulta-de-cep-diretamente-ao-site-dos-correios/
+* Traduções pt-BR do Magento: http://www.cerebrum.com.br/index.php/magento-portugues-download-traducao-brasil-cielo-redecard-american-express.html
+
+Logs:
+=================
+Projeto iniciado dia: 11/08/2012 ás 19h
+Estágio do projeto: Versão Final 3.0 (testes e homologação)
+Link do demo: http://onestepcheckout.com.br/final3
+
+Gostou do módulo?
+=================
+
+Se você gostou, se foi útil para você, se fez você economizar aquela grana pois estava prestes a pagar caro por aquele módulo pago, pois não achava um solução gratuita que te atendesse e queira prestigiar o trabalho feito efetuando uma doação de qualquer valor, não vou negar e vou ficar grato, você pode fazer isso utilizando o Pagseguro no site ofical do projeto:
+http://onestepcheckout.com.br/
@@ -0,0 +1,14 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Adminhtml_Model_System_Config_Source_AddressOptions
+{
+ public function toOptionArray()
+ {
+ $help_obj = Mage::helper('onepagecheckout');
+ $options = array(
+ array('value' => 'optional','label' => $help_obj->__('Optional')),
+ array('value' => 'required','label' => $help_obj->__('Required')),
+ array('value' => 'hidden', 'label' => $help_obj->__('Hidden'))
+ );
+ return $options;
+ }
+}
@@ -0,0 +1,13 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Adminhtml_Model_System_Config_Source_AgreementOptions
+{
+ public function toOptionArray()
+ {
+ $help_obj = Mage::helper('onepagecheckout');
+ $options = array(
+ array('value' => 'standard','label' => $help_obj->__('Standard')),
+ array('value' => 'minimal', 'label' => $help_obj->__('Minimal'))
+ );
+ return $options;
+ }
+}
@@ -0,0 +1,20 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Agreements extends Mage_Core_Block_Template
+{
+ public function getAgreements()
+ {
+ if (!$this->hasAgreements())
+ {
+ $agre = array();
+ if (Mage::getStoreConfigFlag('onepagecheckout/agreements/enabled'))
+ {
+ $agre = Mage::getModel('checkout/agreement')->getCollection()
+ ->addStoreFilter(Mage::app()->getStore()->getId())
+ ->addFieldToFilter('is_active', 1);
+
+ }
+ $this->setAgreements($agre);
+ }
+ return $this->getData('agreements');
+ }
+}
@@ -0,0 +1,17 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Links extends Mage_Checkout_Block_Links
+{
+ public function addCheckoutLink()
+ {
+ if ($this->helper('onepagecheckout')->isOnepageCheckoutEnabled())
+ {
+ $parent = $this->getParentBlock();
+ if ($parent)
+ $parent->addLink($this->helper('checkout')->__('Checkout'), 'onepagecheckout', $this->helper('checkout')->__('Checkout'), true, array('_secure'=> true), 60, null, 'class="top-link-checkout"');
+
+ return $this;
+ }
+ else
+ return parent::addCheckoutLink();
+ }
+}
@@ -0,0 +1,101 @@
+<?php
+
+class DeivisonArthur_OnepageCheckout_Block_Onepage_Billship extends Mage_Checkout_Block_Onepage_Billing
+{
+ public function getBillAddress()
+ {
+ return $this->getQuote()->getBillingAddress();
+ }
+
+ public function getShipAddress()
+ {
+ return $this->getQuote()->getShippingAddress();
+ }
+
+ public function getCustomerBillAddr()
+ {
+ return $this->buildCustomerAddress('billing');
+ }
+
+ public function getBillingCountriesSelectBox()
+ {
+ return $this->buildCountriesSelectBox('billing');
+ }
+
+ public function getCustomerShipAddr()
+ {
+ return $this->buildCustomerAddress('shipping');
+ }
+
+ public function getShippingCountriesSelectBox()
+ {
+ return $this->buildCountriesSelectBox('shipping');
+ }
+
+ public function buildCustomerAddress($addr_type)
+ {
+ if ($this->isCustomerLoggedIn()) {
+ $options = array();
+ foreach ($this->getCustomer()->getAddresses() as $address) {
+ $options[] = array(
+ 'value'=>$address->getId(),
+ 'label'=>$address->format('oneline')
+ );
+ }
+
+ switch($addr_type)
+ {
+ case 'billing':
+ $address = $this->getCustomer()->getPrimaryBillingAddress();
+ break;
+ case 'shipping':
+ $address = $this->getCustomer()->getPrimaryShippingAddress();
+ break;
+ }
+
+ if ($address) {
+ $addressId = $address->getId();
+ } else {
+ if($addr_type == 'billing')
+ $obj = $this->getBillAddress();
+ else
+ $obj = $this->getShipAddress();
+
+ $addressId = $obj->getId();
+ }
+
+ $select = $this->getLayout()->createBlock('core/html_select')
+ ->setId("{$addr_type}_customer_address")->setName("{$addr_type}_address_id")
+ ->setValue($addressId)->setOptions($options)
+ ->setExtraParams('onchange="'.$addr_type.'.newAddress(!this.value)"')
+ ->setClass('customer_address');
+
+ $select->addOption('', Mage::helper('checkout')->__('New Address'));
+ return $select->getHtml();
+ }
+ return '';
+ }
+
+ public function buildCountriesSelectBox($addr_type)
+ {
+ if($addr_type == 'billing')
+ $obj = $this->getBillAddress();
+ else
+ $obj = $this->getShipAddress();
+
+ $countryId = $obj->getCountryId();
+ if (is_null($countryId)) {
+ $countryId = Mage::getStoreConfig('general/country/default');
+ }
+ $select = $this->getLayout()->createBlock('core/html_select')
+ ->setId("{$addr_type}:country_id")->setName("{$addr_type}[country_id]")
+ ->setValue($countryId)->setOptions($this->getCountryOptions())
+ ->setTitle(Mage::helper('checkout')->__('Country'))
+ ->setClass('validate-select');
+
+ if($addr_type == 'shipping')
+ $select->setExtraParams('onchange="shipping.setSameAsBilling(false);"');
+
+ return $select->getHtml();
+ }
+}
@@ -0,0 +1,20 @@
+<?php
+
+class DeivisonArthur_OnepageCheckout_Block_Onepage_Link extends Mage_Core_Block_Template
+{
+ public function isOnepageCheckoutAllowed()
+ {
+ return $this->helper('onepagecheckout')->isOnepageCheckoutEnabled();
+ }
+
+ public function checkEnable()
+ {
+ return Mage::getSingleton('checkout/session')->getQuote()->validateMinimumAmount();
+ }
+
+ public function getOnepageCheckoutUrl()
+ {
+ $url = $this->getUrl('onepagecheckout', array('_secure' => true));
+ return $url;
+ }
+}
@@ -0,0 +1,10 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Widget_Dob extends Mage_Customer_Block_Widget_Dob
+{
+ protected $_dateInputs = array();
+ public function _construct()
+ {
+ parent::_construct();
+ $this->setTemplate('onepagecheckout/widget/dob.phtml');
+ }
+}
@@ -0,0 +1,9 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Widget_Gender extends Mage_Customer_Block_Widget_Gender
+{
+ public function _construct()
+ {
+ parent::_construct();
+ $this->setTemplate('onepagecheckout/widget/gender.phtml');
+ }
+}
@@ -0,0 +1,9 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Widget_Name extends Mage_Customer_Block_Widget_Name
+{
+ public function _construct()
+ {
+ parent::_construct();
+ $this->setTemplate('onepagecheckout/widget/name.phtml');
+ }
+}
@@ -0,0 +1,9 @@
+<?php
+class DeivisonArthur_OnepageCheckout_Block_Widget_Taxvat extends Mage_Customer_Block_Widget_Taxvat
+{
+ public function _construct()
+ {
+ parent::_construct();
+ $this->setTemplate('onepagecheckout/widget/taxvat.phtml');
+ }
+}
Oops, something went wrong.

0 comments on commit 65f1d26

Please sign in to comment.