Version Notes
0.0.4
Advanced log to identify database connection issues
0.0.3
First official public release
Download this release
Release Info
Developer | asulpunto |
Extension | Asulpunto_Unicentaopos |
Version | 0.0.4 |
Comparing to | |
See all releases |
Code changes from version 0.0.3 to 0.0.4
- app/code/community/Asulpunto/Unicentaopos/Block/Adminhtml/System/Config/Form/Button.php +1 -1
- app/code/community/Asulpunto/Unicentaopos/Helper/Data.php +18 -5
- app/code/community/Asulpunto/Unicentaopos/Model/Unicentaoposapi.php +16 -12
- app/code/community/Asulpunto/Unicentaopos/etc/config.xml +1 -1
- app/code/community/Asulpunto/Unicentaopos/etc/system.xml +12 -7
- app/design/adminhtml/default/default/template/asulpunto/unicentaopos/system/config/button.phtml +8 -3
- package.xml +17 -12
app/code/community/Asulpunto/Unicentaopos/Block/Adminhtml/System/Config/Form/Button.php
CHANGED
@@ -62,7 +62,7 @@ class Asulpunto_Unicentaopos_Block_Adminhtml_System_Config_Form_Button extends M
|
|
62 |
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
63 |
->setData(array(
|
64 |
'id' => 'asulpuntounicentaopos_button',
|
65 |
-
'label' => $this->helper('adminhtml')->__('Test Connection
|
66 |
'onclick' => 'javascript:check(); return false;'
|
67 |
));
|
68 |
|
62 |
$button = $this->getLayout()->createBlock('adminhtml/widget_button')
|
63 |
->setData(array(
|
64 |
'id' => 'asulpuntounicentaopos_button',
|
65 |
+
'label' => $this->helper('adminhtml')->__('Test Connection'),
|
66 |
'onclick' => 'javascript:check(); return false;'
|
67 |
));
|
68 |
|
app/code/community/Asulpunto/Unicentaopos/Helper/Data.php
CHANGED
@@ -30,11 +30,24 @@ class Asulpunto_Unicentaopos_Helper_Data extends Mage_Core_Helper_Abstract
|
|
30 |
$login=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/login');
|
31 |
$password=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/password');
|
32 |
$name=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/dbname');
|
33 |
-
|
34 |
-
$
|
35 |
-
|
36 |
-
|
37 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
38 |
}
|
39 |
|
40 |
}
|
30 |
$login=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/login');
|
31 |
$password=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/password');
|
32 |
$name=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/dbname');
|
33 |
+
try {
|
34 |
+
$db = new PDO("mysql:host={$url};dbname={$name}",
|
35 |
+
$login,
|
36 |
+
$password
|
37 |
+
);
|
38 |
+
} catch (Exception $e){
|
39 |
+
Mage::log(__METHOD__." ERROR Getting Connetion URL:$url DBNAME:$name Login:$login Password:$password",null,"asulpunto_unicentaopos.log");
|
40 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
41 |
+
return null;
|
42 |
+
}
|
43 |
+
return $db;
|
44 |
+
}
|
45 |
+
|
46 |
+
public function doQuery($sql){
|
47 |
+
$db=$this->getUnicentaOposConnection();
|
48 |
+
if (is_null($db)) return null;
|
49 |
+
$rows=$db->query($sql);
|
50 |
+
return $rows;
|
51 |
}
|
52 |
|
53 |
}
|
app/code/community/Asulpunto/Unicentaopos/Model/Unicentaoposapi.php
CHANGED
@@ -27,17 +27,21 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
27 |
|
28 |
public function checkActivate(){
|
29 |
try{
|
30 |
-
$
|
31 |
-
$
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
}
|
37 |
}catch(Exception $e){
|
38 |
-
Mage::log(
|
39 |
}
|
40 |
-
|
|
|
|
|
|
|
|
|
41 |
}
|
42 |
|
43 |
public function cronProducts(){
|
@@ -53,7 +57,7 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
53 |
}
|
54 |
$this->updateMagentoProducts();
|
55 |
}catch(Exception $e){
|
56 |
-
Mage::log(
|
57 |
}
|
58 |
}
|
59 |
|
@@ -68,7 +72,7 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
68 |
}
|
69 |
$this->updateMagentoStock();
|
70 |
}catch(Exception $e){
|
71 |
-
Mage::log(
|
72 |
}
|
73 |
}
|
74 |
|
@@ -178,7 +182,7 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
178 |
$item->save();
|
179 |
}
|
180 |
}catch(Exception $e){
|
181 |
-
|
182 |
}
|
183 |
}
|
184 |
|
@@ -263,7 +267,7 @@ class Asulpunto_Unicentaopos_Model_Unicentaoposapi extends Mage_Core_Model_Abstr
|
|
263 |
}
|
264 |
catch (exception $e)
|
265 |
{
|
266 |
-
Mage::log(
|
267 |
}
|
268 |
return 0;
|
269 |
}
|
27 |
|
28 |
public function checkActivate(){
|
29 |
try{
|
30 |
+
$rows=Mage::Helper('unicentaopos')->doQuery("select * from `APPLICATIONS`");
|
31 |
+
if (!is_null($rows)){
|
32 |
+
foreach ($rows as $row){
|
33 |
+
if ($row['ID']=='unicentaopos')
|
34 |
+
return 'OK';
|
35 |
+
}
|
36 |
}
|
37 |
}catch(Exception $e){
|
38 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
39 |
}
|
40 |
+
$error['url']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/url');
|
41 |
+
$error['login']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/login');
|
42 |
+
$error['password']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/password');
|
43 |
+
$error['name']=Mage::getStoreConfig('asulpuntounicentaopos/unicentaconfig/dbname');
|
44 |
+
return json_encode($error);
|
45 |
}
|
46 |
|
47 |
public function cronProducts(){
|
57 |
}
|
58 |
$this->updateMagentoProducts();
|
59 |
}catch(Exception $e){
|
60 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
61 |
}
|
62 |
}
|
63 |
|
72 |
}
|
73 |
$this->updateMagentoStock();
|
74 |
}catch(Exception $e){
|
75 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
76 |
}
|
77 |
}
|
78 |
|
182 |
$item->save();
|
183 |
}
|
184 |
}catch(Exception $e){
|
185 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
186 |
}
|
187 |
}
|
188 |
|
267 |
}
|
268 |
catch (exception $e)
|
269 |
{
|
270 |
+
Mage::log(__METHOD__.$e->getMessage(),null,"asulpunto_unicentaopos.log");
|
271 |
}
|
272 |
return 0;
|
273 |
}
|
app/code/community/Asulpunto/Unicentaopos/etc/config.xml
CHANGED
@@ -25,7 +25,7 @@
|
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Asulpunto_Unicentaopos>
|
28 |
-
<version>0.0.
|
29 |
</Asulpunto_Unicentaopos>
|
30 |
</modules>
|
31 |
<global>
|
25 |
<config>
|
26 |
<modules>
|
27 |
<Asulpunto_Unicentaopos>
|
28 |
+
<version>0.0.4</version>
|
29 |
</Asulpunto_Unicentaopos>
|
30 |
</modules>
|
31 |
<global>
|
app/code/community/Asulpunto/Unicentaopos/etc/system.xml
CHANGED
@@ -31,7 +31,7 @@
|
|
31 |
<sections>
|
32 |
|
33 |
<asulpuntounicentaopos translate="label" module="unicentaopos">
|
34 |
-
<label>
|
35 |
<tab>asulpunto</tab>
|
36 |
<frontend_type>text</frontend_type>
|
37 |
<sort_order>99999</sort_order>
|
@@ -57,36 +57,40 @@
|
|
57 |
<show_in_store>0</show_in_store>
|
58 |
<fields>
|
59 |
<url translate="label">
|
60 |
-
<label>
|
61 |
<frontend_type>text</frontend_type>
|
62 |
<sort_order>10</sort_order>
|
63 |
<show_in_default>1</show_in_default>
|
64 |
<show_in_website>1</show_in_website>
|
65 |
<show_in_store>1</show_in_store>
|
|
|
66 |
</url>
|
67 |
<dbname translate="label">
|
68 |
-
<label>
|
69 |
<frontend_type>text</frontend_type>
|
70 |
<sort_order>20</sort_order>
|
71 |
<show_in_default>1</show_in_default>
|
72 |
<show_in_website>1</show_in_website>
|
73 |
<show_in_store>1</show_in_store>
|
|
|
74 |
</dbname>
|
75 |
<login translate="label">
|
76 |
-
<label>
|
77 |
<frontend_type>text</frontend_type>
|
78 |
<sort_order>30</sort_order>
|
79 |
<show_in_default>1</show_in_default>
|
80 |
<show_in_website>1</show_in_website>
|
81 |
<show_in_store>1</show_in_store>
|
|
|
82 |
</login>
|
83 |
<password translate="label">
|
84 |
-
<label>
|
85 |
<frontend_type>text</frontend_type>
|
86 |
<sort_order>40</sort_order>
|
87 |
<show_in_default>1</show_in_default>
|
88 |
<show_in_website>1</show_in_website>
|
89 |
<show_in_store>1</show_in_store>
|
|
|
90 |
</password>
|
91 |
</fields>
|
92 |
</unicentaconfig>
|
@@ -98,17 +102,18 @@
|
|
98 |
<show_in_store>0</show_in_store>
|
99 |
<fields>
|
100 |
<check translate="label">
|
101 |
-
<label>
|
102 |
<frontend_type>button</frontend_type>
|
103 |
<frontend_model>asulpuntounicentaopos/adminhtml_system_config_form_button</frontend_model>
|
104 |
<sort_order>20</sort_order>
|
105 |
<show_in_default>1</show_in_default>
|
106 |
<show_in_website>0</show_in_website>
|
107 |
<show_in_store>0</show_in_store>
|
|
|
108 |
</check>
|
109 |
<orderstatus translate="label">
|
110 |
<label>Order Status for Stock Syncronisation</label>
|
111 |
-
|
112 |
<frontend_type>select</frontend_type>
|
113 |
<source_model>adminhtml/system_config_source_order_status</source_model>
|
114 |
<validate>required-entry</validate>
|
31 |
<sections>
|
32 |
|
33 |
<asulpuntounicentaopos translate="label" module="unicentaopos">
|
34 |
+
<label>uniCenta oPOS </label>
|
35 |
<tab>asulpunto</tab>
|
36 |
<frontend_type>text</frontend_type>
|
37 |
<sort_order>99999</sort_order>
|
57 |
<show_in_store>0</show_in_store>
|
58 |
<fields>
|
59 |
<url translate="label">
|
60 |
+
<label>uniCenta oPOS Hostname</label>
|
61 |
<frontend_type>text</frontend_type>
|
62 |
<sort_order>10</sort_order>
|
63 |
<show_in_default>1</show_in_default>
|
64 |
<show_in_website>1</show_in_website>
|
65 |
<show_in_store>1</show_in_store>
|
66 |
+
<validate>required-entry</validate>
|
67 |
</url>
|
68 |
<dbname translate="label">
|
69 |
+
<label>uniCenta oPOS Database Name</label>
|
70 |
<frontend_type>text</frontend_type>
|
71 |
<sort_order>20</sort_order>
|
72 |
<show_in_default>1</show_in_default>
|
73 |
<show_in_website>1</show_in_website>
|
74 |
<show_in_store>1</show_in_store>
|
75 |
+
<validate>required-entry</validate>
|
76 |
</dbname>
|
77 |
<login translate="label">
|
78 |
+
<label>uniCenta oPOS Database Login</label>
|
79 |
<frontend_type>text</frontend_type>
|
80 |
<sort_order>30</sort_order>
|
81 |
<show_in_default>1</show_in_default>
|
82 |
<show_in_website>1</show_in_website>
|
83 |
<show_in_store>1</show_in_store>
|
84 |
+
<validate>required-entry</validate>
|
85 |
</login>
|
86 |
<password translate="label">
|
87 |
+
<label>uniCenta oPOS Database Password</label>
|
88 |
<frontend_type>text</frontend_type>
|
89 |
<sort_order>40</sort_order>
|
90 |
<show_in_default>1</show_in_default>
|
91 |
<show_in_website>1</show_in_website>
|
92 |
<show_in_store>1</show_in_store>
|
93 |
+
<validate>required-entry</validate>
|
94 |
</password>
|
95 |
</fields>
|
96 |
</unicentaconfig>
|
102 |
<show_in_store>0</show_in_store>
|
103 |
<fields>
|
104 |
<check translate="label">
|
105 |
+
<label>Check the connection details</label>
|
106 |
<frontend_type>button</frontend_type>
|
107 |
<frontend_model>asulpuntounicentaopos/adminhtml_system_config_form_button</frontend_model>
|
108 |
<sort_order>20</sort_order>
|
109 |
<show_in_default>1</show_in_default>
|
110 |
<show_in_website>0</show_in_website>
|
111 |
<show_in_store>0</show_in_store>
|
112 |
+
<comment>Please, save the database configuration before testing the connection.</comment>
|
113 |
</check>
|
114 |
<orderstatus translate="label">
|
115 |
<label>Order Status for Stock Syncronisation</label>
|
116 |
+
<comment>Only orders with this status will have the stock value updated in Unicenta Opos</comment>
|
117 |
<frontend_type>select</frontend_type>
|
118 |
<source_model>adminhtml/system_config_source_order_status</source_model>
|
119 |
<validate>required-entry</validate>
|
app/design/adminhtml/default/default/template/asulpunto/unicentaopos/system/config/button.phtml
CHANGED
@@ -28,10 +28,15 @@
|
|
28 |
method: 'get',
|
29 |
onSuccess: function(transport){
|
30 |
|
31 |
-
if (transport.responseText){
|
32 |
-
alert('Connection OK. Syncronisation has been activated.')
|
33 |
}else {
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
35 |
}
|
36 |
}
|
37 |
});
|
28 |
method: 'get',
|
29 |
onSuccess: function(transport){
|
30 |
|
31 |
+
if (transport.responseText=='OK'){
|
32 |
+
alert('Connection OK. Syncronisation has been activated.');
|
33 |
}else {
|
34 |
+
obj=JSON.parse(transport.responseText);
|
35 |
+
url=obj['url'];
|
36 |
+
name=obj['name'];
|
37 |
+
login=obj['login'];
|
38 |
+
pass=obj['password'];
|
39 |
+
alert("Connection ERROR. Cannot connect to database. "+"\nHostname:"+url+"\nDatabase name:"+name+"\nLogin:"+login+"\nPassword:"+pass+"\nPlease change the configuration, press the 'Save Config' button and test again.\nPlease check [magento]/var/system/asulpunto_unicentaopos.log for more details.");
|
40 |
}
|
41 |
}
|
42 |
});
|
package.xml
CHANGED
@@ -1,28 +1,33 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Asulpunto_Unicentaopos</name>
|
4 |
-
<version>0.0.
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License 3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>A basic integration for Magento with the popular Unicenta OPOS the open source, touch screen POS. </summary>
|
10 |
-
<description>Integrates Magento with
|
11 |
-
|
12 |

|
13 |
Features:
|
14 |
-
-
|
15 |
-
-Stock updates on
|
16 |
-
-Purchases on
|
|
|
17 |

|
18 |
-
To use this extension you have to install
|
19 |

|
20 |
</description>
|
21 |
-
<notes>
|
|
|
|
|
|
|
|
|
22 |
<authors><author><name>asulpunto</name><user>asulpunto</user><email>asulpunto@asulpunto.com</email></author></authors>
|
23 |
-
<date>2013-09-
|
24 |
-
<time>
|
25 |
-
<contents><target name="magecommunity"><dir name="Asulpunto"><dir name="Unicentaopos"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="
|
26 |
<compatible/>
|
27 |
-
<dependencies><required><php><min>5.2.0</min><max>5.
|
28 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Asulpunto_Unicentaopos</name>
|
4 |
+
<version>0.0.4</version>
|
5 |
<stability>stable</stability>
|
6 |
<license uri="http://opensource.org/licenses/GPL-3.0">GNU General Public License 3.0</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
<summary>A basic integration for Magento with the popular Unicenta OPOS the open source, touch screen POS. </summary>
|
10 |
+
<description>Integrates Magento with uniCenta oPOS. http://www.unicentaopos.co.uk 
|
11 |
+
uniCenta oPOS is a free, commercial grade POS. It also supports touch screen terminals.
|
12 |

|
13 |
Features:
|
14 |
+
-Products created on uniCenta oPOS are created automatically on Magento
|
15 |
+
-Stock Diary updates on uniCenta oPOS are sent to Magento.
|
16 |
+
-Purchases on uniCenta oPOS reduce stock from Magento.
|
17 |
+
-Purchases on Magento subtract stock from uniCenta oPOS Stock Diary.
|
18 |

|
19 |
+
To use this extension you have to install uniCenta oPOS's database on a Mysql server accessible by the Magento server.
|
20 |

|
21 |
</description>
|
22 |
+
<notes>0.0.4
|
23 |
+
Advanced log to identify database connection issues
|
24 |
+

|
25 |
+
0.0.3
|
26 |
+
First official public release </notes>
|
27 |
<authors><author><name>asulpunto</name><user>asulpunto</user><email>asulpunto@asulpunto.com</email></author></authors>
|
28 |
+
<date>2013-09-27</date>
|
29 |
+
<time>16:56:03</time>
|
30 |
+
<contents><target name="magecommunity"><dir name="Asulpunto"><dir name="Unicentaopos"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Form"><file name="Button.php" hash="ee172a1ea50cd3f75cf819ba40aa2ac3"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="be527e82077d4e3fb91e0509e3e9eaec"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Unicentaoposorderitem"><file name="Collection.php" hash="bb9cf8ab48304c34fd7bd575e1002574"/></dir><file name="Unicentaoposorderitem.php" hash="edc7cfecd2b60b0bc372da8c0509cf7d"/><dir name="Unicentaoposproduct"><file name="Collection.php" hash="03f65e284b426d36daa2376e38a813e1"/></dir><file name="Unicentaoposproduct.php" hash="1f849c04da97b863ee88c3b34dc8255b"/></dir><file name="Unicentaoposapi.php" hash="3a24379f0984dd3af1f3b509bd7409b9"/><file name="Unicentaoposorderitem.php" hash="31b0f22a1fa3af396a01b741fd9d4adf"/><file name="Unicentaoposproduct.php" hash="8754d16acf3372355bf379deb563ab03"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="UnicentaoposController.php" hash="7da0f12f269dfdc16ef1f8881753d5fa"/></dir></dir><dir name="etc"><file name="config.xml" hash="c3ae12d95c4d1f39d784ee6b3e4e58df"/><file name="system.xml" hash="14b9b9206e187554a17492f974f47305"/></dir><dir name="sql"><dir name="unicentaopos_setup"><file name="mysql4-install-0.0.1.php" hash="84ba3c4373b2a1c6b1219e8fbd881b51"/><file name="mysql4-upgrade-0.0.1-0.0.2.php" hash="76ea73b06b500e88db0891df95744b65"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="asulpunto"><dir name="unicentaopos"><dir name="system"><dir name="config"><file name="button.phtml" hash="023c9f40cee588b3e3ad51728a8b9865"/></dir></dir></dir></dir></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Asulpunto_Unicentaopos.xml" hash="0b81c393d2739bbabe04eeccadeaf858"/></dir></target></contents>
|
31 |
<compatible/>
|
32 |
+
<dependencies><required><php><min>5.2.0</min><max>5.5.0</max></php></required></dependencies>
|
33 |
</package>
|