Version Notes
Added option to select calculation method (incl/excl VAT)
Download this release
Release Info
| Developer | Casper Mekel |
| Extension | Qinvoice_Connect |
| Version | 1.0.6 |
| Comparing to | |
| See all releases | |
Code changes from version 1.0.5 to 1.0.6
- app/code/community/Qinvoice/CHANGELOG +10 -0
- app/code/community/Qinvoice/Connect/Model/Order/Observer.php +22 -6
- app/code/community/Qinvoice/Connect/Model/Source/CalcMethod.php +13 -0
- app/code/community/Qinvoice/Connect/Model/Source/Calculationmethod.php +12 -0
- app/code/community/Qinvoice/Connect/etc/config.xml +1 -1
- app/code/community/Qinvoice/Connect/etc/system.xml +10 -0
- package.xml +6 -6
app/code/community/Qinvoice/CHANGELOG
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CHANGELOG
|
| 2 |
+
|
| 3 |
+
v1.0.6 - 2014/01/22
|
| 4 |
+
- Removed double description lines
|
| 5 |
+
|
| 6 |
+
v1.0.1 - 2013/08/14
|
| 7 |
+
- Added support for productgroups/attributes (qinvoice_category)
|
| 8 |
+
|
| 9 |
+
v1.0.0 - 2013/08/13
|
| 10 |
+
- Initial release
|
app/code/community/Qinvoice/Connect/Model/Order/Observer.php
CHANGED
|
@@ -8,7 +8,6 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 8 |
}
|
| 9 |
|
| 10 |
public function sendOnComplete($observer){
|
| 11 |
-
mail('casper@newday.sk', 'sendOnComplete', 'triggered');
|
| 12 |
$order = $observer->getEvent()->getOrder();
|
| 13 |
// GETTING TRIGGER SETTING
|
| 14 |
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
|
@@ -222,7 +221,13 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 222 |
$rowLayout = $resultLayout->fetch(PDO::FETCH_ASSOC);
|
| 223 |
$invoice_layout = $rowLayout['value'];
|
| 224 |
|
| 225 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 226 |
|
| 227 |
$invoice_layout_s = @unserialize($invoice_layout);
|
| 228 |
if ($invoice_layout_s !== false) {
|
|
@@ -270,7 +275,7 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 270 |
{
|
| 271 |
for($k=0; $k <count($arrItemOptions['options']); $k++)
|
| 272 |
{
|
| 273 |
-
$varDescription .=
|
| 274 |
}
|
| 275 |
}
|
| 276 |
else
|
|
@@ -278,17 +283,20 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 278 |
{
|
| 279 |
for($k=0; $k <count($arrItemOptions['attributes_info']); $k++)
|
| 280 |
{
|
| 281 |
-
$varDescription .=
|
| 282 |
}
|
| 283 |
}
|
| 284 |
else
|
| 285 |
{
|
| 286 |
-
$varDescription = "[".$arrData[$i]['sku']."] ".trim($arrData[$i]['name']);
|
| 287 |
}
|
|
|
|
| 288 |
$params = array(
|
| 289 |
'code' => $productcode,
|
| 290 |
-
'description' =>
|
| 291 |
'price' => $arrData[$i]['base_price']*100,
|
|
|
|
|
|
|
| 292 |
'vatpercentage' => trim(number_format($arrData[$i]['tax_percent'],2,'.', ''))*100,
|
| 293 |
'discount' => trim(number_format($arrData[$i]['base_discount_amount'], 2, '.', '')/$arrData[$i]['base_price'])*100,
|
| 294 |
'quantity' => $arrData[$i]['qty_ordered']*100,
|
|
@@ -303,6 +311,8 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 303 |
$params = array(
|
| 304 |
'description' => trim($rowOne['shipping_description']),
|
| 305 |
'price' => $rowOne['shipping_amount']*100,
|
|
|
|
|
|
|
| 306 |
'vatpercentage' => ($rowOne['shipping_tax_amount']/$rowOne['shipping_amount'])*100,
|
| 307 |
'discount' => 0,
|
| 308 |
'quantity' => 100,
|
|
@@ -315,6 +325,7 @@ class Qinvoice_Connect_Model_Order_Observer
|
|
| 315 |
|
| 316 |
|
| 317 |
$result = $invoice->sendRequest();
|
|
|
|
| 318 |
if($result == 1){
|
| 319 |
//notify_to_admin('Casper Mekel','casper@newday.sk','Invoice generated!');
|
| 320 |
}else{
|
|
@@ -407,6 +418,8 @@ class qinvoice{
|
|
| 407 |
$item['code'] = $params['code'];
|
| 408 |
$item['description'] = $params['description'];
|
| 409 |
$item['price'] = $params['price'];
|
|
|
|
|
|
|
| 410 |
$item['vatpercentage'] = $params['vatpercentage'];
|
| 411 |
$item['discount'] = $params['discount'];
|
| 412 |
$item['quantity'] = $params['quantity'];
|
|
@@ -471,6 +484,7 @@ class qinvoice{
|
|
| 471 |
<layout><![CDATA['. $this->layout .']]></layout>
|
| 472 |
<paid><![CDATA['. $this->paid .']]></paid>
|
| 473 |
<action><![CDATA['. $this->action .']]></action>
|
|
|
|
| 474 |
<tags>';
|
| 475 |
foreach($this->tags as $tag){
|
| 476 |
$string .= '<tag><![CDATA['. $tag .']]></tag>';
|
|
@@ -485,6 +499,8 @@ class qinvoice{
|
|
| 485 |
<quantity><![CDATA['. $i['quantity'] .']]></quantity>
|
| 486 |
<description><![CDATA['. $i['description'] .']]></description>
|
| 487 |
<price>'. $i['price'] .'</price>
|
|
|
|
|
|
|
| 488 |
<vatpercentage>'. $i['vatpercentage'] .'</vatpercentage>
|
| 489 |
<discount>'. $i['discount'] .'</discount>
|
| 490 |
<categories><![CDATA['. $i['categories'] .']]></categories>
|
| 8 |
}
|
| 9 |
|
| 10 |
public function sendOnComplete($observer){
|
|
|
|
| 11 |
$order = $observer->getEvent()->getOrder();
|
| 12 |
// GETTING TRIGGER SETTING
|
| 13 |
$db = Mage::getSingleton('core/resource')->getConnection('core_write');
|
| 221 |
$rowLayout = $resultLayout->fetch(PDO::FETCH_ASSOC);
|
| 222 |
$invoice_layout = $rowLayout['value'];
|
| 223 |
|
| 224 |
+
$varCalculationmethodPath = 'invoice_options/invoice/calculation_method';
|
| 225 |
+
$prefix = Mage::getConfig()->getTablePrefix();
|
| 226 |
+
$resultCalculationmethod = $db->query("SELECT value FROM {$prefix}core_config_data WHERE path LIKE '".$varCalculationmethodPath."'");
|
| 227 |
+
$rowCalculationmethod = $resultCalculationmethod->fetch(PDO::FETCH_ASSOC);
|
| 228 |
+
$invoice_calculationmethod = $rowCalculationmethod['value'];
|
| 229 |
+
|
| 230 |
+
$invoice->calculation_method = $invoice_calculationmethod;
|
| 231 |
|
| 232 |
$invoice_layout_s = @unserialize($invoice_layout);
|
| 233 |
if ($invoice_layout_s !== false) {
|
| 275 |
{
|
| 276 |
for($k=0; $k <count($arrItemOptions['options']); $k++)
|
| 277 |
{
|
| 278 |
+
$varDescription .= "\n".$arrItemOptions['options'][$k]['label'].": ".$arrItemOptions['options'][$k]['print_value']."\n";
|
| 279 |
}
|
| 280 |
}
|
| 281 |
else
|
| 283 |
{
|
| 284 |
for($k=0; $k <count($arrItemOptions['attributes_info']); $k++)
|
| 285 |
{
|
| 286 |
+
$varDescription .= "\n".$arrItemOptions['attributes_info'][$k]['label'].": ".$arrItemOptions['attributes_info'][$k]['value']."\n";
|
| 287 |
}
|
| 288 |
}
|
| 289 |
else
|
| 290 |
{
|
| 291 |
+
$varDescription = ''; //"[".$arrData[$i]['sku']."] ".trim($arrData[$i]['name']);
|
| 292 |
}
|
| 293 |
+
|
| 294 |
$params = array(
|
| 295 |
'code' => $productcode,
|
| 296 |
+
'description' => "[".$arrData[$i]['sku']."] ".trim($arrData[$i]['name']) . $varDescription,
|
| 297 |
'price' => $arrData[$i]['base_price']*100,
|
| 298 |
+
'price_incl' => ((($arrData[$i]['base_price']*$arrData[$i]['qty_ordered'])+$arrData[$i]['tax_amount'])/$arrData[$i]['qty_ordered'])*100,
|
| 299 |
+
'price_vat' => ($arrData[$i]['tax_amount']/$arrData[$i]['qty_ordered'])*100,
|
| 300 |
'vatpercentage' => trim(number_format($arrData[$i]['tax_percent'],2,'.', ''))*100,
|
| 301 |
'discount' => trim(number_format($arrData[$i]['base_discount_amount'], 2, '.', '')/$arrData[$i]['base_price'])*100,
|
| 302 |
'quantity' => $arrData[$i]['qty_ordered']*100,
|
| 311 |
$params = array(
|
| 312 |
'description' => trim($rowOne['shipping_description']),
|
| 313 |
'price' => $rowOne['shipping_amount']*100,
|
| 314 |
+
'price_inl' => $rowOne['shipping_amount']*100,
|
| 315 |
+
'price_vat' => $rowOne['shipping_tax_amount']*100,
|
| 316 |
'vatpercentage' => ($rowOne['shipping_tax_amount']/$rowOne['shipping_amount'])*100,
|
| 317 |
'discount' => 0,
|
| 318 |
'quantity' => 100,
|
| 325 |
|
| 326 |
|
| 327 |
$result = $invoice->sendRequest();
|
| 328 |
+
die();
|
| 329 |
if($result == 1){
|
| 330 |
//notify_to_admin('Casper Mekel','casper@newday.sk','Invoice generated!');
|
| 331 |
}else{
|
| 418 |
$item['code'] = $params['code'];
|
| 419 |
$item['description'] = $params['description'];
|
| 420 |
$item['price'] = $params['price'];
|
| 421 |
+
$item['price_incl'] = $params['price_incl'];
|
| 422 |
+
$item['price_vat'] = $params['price_vat'];
|
| 423 |
$item['vatpercentage'] = $params['vatpercentage'];
|
| 424 |
$item['discount'] = $params['discount'];
|
| 425 |
$item['quantity'] = $params['quantity'];
|
| 484 |
<layout><![CDATA['. $this->layout .']]></layout>
|
| 485 |
<paid><![CDATA['. $this->paid .']]></paid>
|
| 486 |
<action><![CDATA['. $this->action .']]></action>
|
| 487 |
+
<calculation_method><![CDATA['. $this->calculation_method .']]></calculation_method>
|
| 488 |
<tags>';
|
| 489 |
foreach($this->tags as $tag){
|
| 490 |
$string .= '<tag><![CDATA['. $tag .']]></tag>';
|
| 499 |
<quantity><![CDATA['. $i['quantity'] .']]></quantity>
|
| 500 |
<description><![CDATA['. $i['description'] .']]></description>
|
| 501 |
<price>'. $i['price'] .'</price>
|
| 502 |
+
<price_incl>'. $i['price_incl'] .'</price_incl>
|
| 503 |
+
<price_vat>'. $i['price_vat'] .'</price_vat>
|
| 504 |
<vatpercentage>'. $i['vatpercentage'] .'</vatpercentage>
|
| 505 |
<discount>'. $i['discount'] .'</discount>
|
| 506 |
<categories><![CDATA['. $i['categories'] .']]></categories>
|
app/code/community/Qinvoice/Connect/Model/Source/CalcMethod.php
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Qinvoice_Connect_Model_Source_Invoice
|
| 3 |
+
{
|
| 4 |
+
public function toOptionArray()
|
| 5 |
+
{
|
| 6 |
+
return array(
|
| 7 |
+
array('value' => 0, 'label' => 'Save invoice as concept'),
|
| 8 |
+
array('value' => 1, 'label' => 'Finalize invoice'),
|
| 9 |
+
array('value' => 2, 'label' => 'Finalize and send via email')
|
| 10 |
+
);
|
| 11 |
+
}
|
| 12 |
+
}
|
| 13 |
+
?>
|
app/code/community/Qinvoice/Connect/Model/Source/Calculationmethod.php
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Qinvoice_Connect_Model_Source_Calculationmethod
|
| 3 |
+
{
|
| 4 |
+
public function toOptionArray()
|
| 5 |
+
{
|
| 6 |
+
return array(
|
| 7 |
+
array('value' => 'excl', 'label' => 'Prices without VAT are leading'),
|
| 8 |
+
array('value' => 'incl', 'label' => 'Prices with VAT included are leading')
|
| 9 |
+
);
|
| 10 |
+
}
|
| 11 |
+
}
|
| 12 |
+
?>
|
app/code/community/Qinvoice/Connect/etc/config.xml
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
<config>
|
| 4 |
<modules>
|
| 5 |
<Qinvoice_Connect>
|
| 6 |
-
<version>1.0.
|
| 7 |
</Qinvoice_Connect>
|
| 8 |
</modules>
|
| 9 |
<global>
|
| 3 |
<config>
|
| 4 |
<modules>
|
| 5 |
<Qinvoice_Connect>
|
| 6 |
+
<version>1.0.6</version>
|
| 7 |
</Qinvoice_Connect>
|
| 8 |
</modules>
|
| 9 |
<global>
|
app/code/community/Qinvoice/Connect/etc/system.xml
CHANGED
|
@@ -49,6 +49,16 @@
|
|
| 49 |
<show_in_website>1</show_in_website>
|
| 50 |
<show_in_store>1</show_in_store>
|
| 51 |
</api_password>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 52 |
<layout_code translate="label">
|
| 53 |
<label>Layout Code</label>
|
| 54 |
<frontend_type>text</frontend_type>
|
| 49 |
<show_in_website>1</show_in_website>
|
| 50 |
<show_in_store>1</show_in_store>
|
| 51 |
</api_password>
|
| 52 |
+
<calculation_method translate="label">
|
| 53 |
+
<label>Calculation method</label>
|
| 54 |
+
<frontend_type>select</frontend_type>
|
| 55 |
+
<source_model>invoice/source_calculationmethod</source_model>
|
| 56 |
+
<sort_order>7</sort_order>
|
| 57 |
+
<show_in_default>1</show_in_default>
|
| 58 |
+
<show_in_website>1</show_in_website>
|
| 59 |
+
<show_in_store>1</show_in_store>
|
| 60 |
+
<comment><![CDATA[Select leading price type]]></comment>
|
| 61 |
+
</calculation_method>
|
| 62 |
<layout_code translate="label">
|
| 63 |
<label>Layout Code</label>
|
| 64 |
<frontend_type>text</frontend_type>
|
package.xml
CHANGED
|
@@ -1,18 +1,18 @@
|
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Qinvoice_Connect</name>
|
| 4 |
-
<version>1.0.
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>GPL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Connects to q-invoice for sending invoices.</summary>
|
| 10 |
<description>Manage your financial adminstration with q-invoice. All orders are invoiced through q-invoice and automatically added to your administration.</description>
|
| 11 |
-
<notes>Added
|
| 12 |
<authors><author><name>Casper Mekel</name><user>caspermekel</user><email>info@q-invoice.com</email></author></authors>
|
| 13 |
-
<date>
|
| 14 |
-
<time>
|
| 15 |
-
<contents><target name="magecommunity"><dir name="Qinvoice"><dir name="Connect"><dir name="Helper"><file name="Data.php" hash="ccb4b09674319e8b20e9c06a94adfa38"/></dir><dir name="Model"><dir name="Order"><file name="Observer.php" hash="
|
| 16 |
<compatible/>
|
| 17 |
-
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.6.0.0</min><max>1.
|
| 18 |
</package>
|
| 1 |
<?xml version="1.0"?>
|
| 2 |
<package>
|
| 3 |
<name>Qinvoice_Connect</name>
|
| 4 |
+
<version>1.0.6</version>
|
| 5 |
<stability>stable</stability>
|
| 6 |
<license>GPL</license>
|
| 7 |
<channel>community</channel>
|
| 8 |
<extends/>
|
| 9 |
<summary>Connects to q-invoice for sending invoices.</summary>
|
| 10 |
<description>Manage your financial adminstration with q-invoice. All orders are invoiced through q-invoice and automatically added to your administration.</description>
|
| 11 |
+
<notes>Added option to select calculation method (incl/excl VAT)</notes>
|
| 12 |
<authors><author><name>Casper Mekel</name><user>caspermekel</user><email>info@q-invoice.com</email></author></authors>
|
| 13 |
+
<date>2014-02-12</date>
|
| 14 |
+
<time>19:44:25</time>
|
| 15 |
+
<contents><target name="magecommunity"><dir name="Qinvoice"><file name="CHANGELOG" hash="b13454004c420dfb97201b73d79598f9"/><dir name="Connect"><dir name="Helper"><file name="Data.php" hash="ccb4b09674319e8b20e9c06a94adfa38"/></dir><dir name="Model"><dir name="Order"><file name="Observer.php" hash="4cf0a33359d871f463124ee651ba63b4"/></dir><dir name="Source"><file name="CalcMethod.php" hash="4661f369f7e116fd761e5fffac9efeaf"/><file name="Calculationmethod.php" hash="3d5113c09db3e27111229a7ded570f2d"/><file name="Invoice.php" hash="4661f369f7e116fd761e5fffac9efeaf"/><file name="Relation.php" hash="89ab031937b846ab5f0bcac7ccaa31b7"/><file name="Trigger.php" hash="e65427cc9773baaedae2b3897c7bf28a"/></dir></dir><dir name="etc"><file name="config.xml" hash="e1759d74b323bbe4df1b0318ab30b68f"/><file name="system.xml" hash="8ecfb337fbe3d7b8f192ac4b51494f22"/></dir><file name="readme.txt" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Qinvoice_Connect.xml" hash="fbedefa4e926092705c6941ad28f51f8"/></dir></target></contents>
|
| 16 |
<compatible/>
|
| 17 |
+
<dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php><package><name>Mage_Core_Modules</name><channel>community</channel><min>1.6.0.0</min><max>1.8.0</max></package><extension><name>curl</name><min>5.1</min><max>6.0</max></extension></required></dependencies>
|
| 18 |
</package>
|
