Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

spostato la reference al id_tema_fattura all'interno della fattura

  • Loading branch information...
commit eed343c5af4f30d70a6db65492e5e4f29d5db28d 1 parent 5f13b5a
@fullo fullo authored
View
17 apps/pim/lib/myUser.class.php
@@ -48,14 +48,19 @@ public function signin(Utente $utente)
public function getSettings()
{
- $settings = UtentePeer::getImpostazione();
-
- if (!$settings)
+
+ if (!$this->hasAttribute('impostazioni'))
{
- throw new Exception('User have invalid settings');
- }
+ $settings = ImpostazionePeer::retrieveByIdUtente($this->getId());
+ $this->setAttribute('impostazioni', $settings);
- return $settings;
+ if (!$settings)
+ {
+ throw new Exception('User have invalid settings');
+ }
+ }
+
+ return $this->getAttribute('impostazioni');
}
public function setReferer($referer)
View
108 apps/pim/modules/fattura/actions/actions.class.php
@@ -32,29 +32,65 @@ public function executeShow()
$this->viewSconto = $this->getViewSconto();
}
- public function executeCreate()
+ public function executeCreate($request)
{
- if ($this->checkBloccoFattura())
- {
- return sfView::SUCCESS;
- }
-
+ $this->cliente = ContattoPeer::retrieveByPK($request->getParameter('id_cliente'));
$this->fattura = FatturaPeer::getFatturaOrCreate(0, $this->cliente);
-
$this->makeFattura();
$this->setTemplate('edit');
}
- public function executeEdit()
+ public function executeEdit($request)
{
-
+ $this->cliente = ContattoPeer::retrieveByPK($request->getParameter('id_cliente'));
$this->fattura = VenditaPeer::retrieveByPk($this->getRequestParameter('id'));
$this->forward404Unless($this->fattura instanceof Fattura);
+
$this->makeFattura();
}
+
+ private function makeFattura()
+ {
+ if ($this->cliente)
+ {
+ $this->id_cliente = $this->getRequestParameter('id_cliente');
+ $this->forward404Unless($this->cliente instanceof Cliente);
+
+ if ($this->fattura->isNew() && $this->getUser()->getSettings()->getBoolFatturaAutomatica()) //UtentePeer::getImpostazione()->getBoolFatturaAutomatica())
+ {
+ $this->getRequest()->setParameter('cliente_id', $this->cliente->getID());
+ $this->getRequest()->setParameter('modo_pagamento_id', $this->cliente->getModoPagamentoID());
+ $this->getRequest()->setParameter('vat', '20');
+ $this->getRequest()->setParameter('sconto', '0');
+ $this->getRequest()->setParameter('spese_anticipate', '0');
+ $this->getRequest()->setParameter('calcola_ritenuta_acconto', $this->cliente->getCalcolaRitenutaAcconto());
+ $this->getRequest()->setParameter('includi_tasse', $this->cliente->getIncludiTasse());
+ $this->getRequest()->setParameter('calcola_tasse', $this->cliente->getCalcolaTasse());
+ $this->getRequest()->setParameter('data', date("d/m/Y", time()));
+ $this->getRequest()->setParameter('num_fattura', $this->fattura->getNumFattura());
+ $this->getRequest()->setParameter('id_tema_fattura', $this->fattura->getIdTemaFattura());
+
+ $this->updateFattura($this->fattura);
+
+ }
+ }
+
+ if ($this->getRequestParameter('modifica_data'))
+ {
+ $this->modifica_data = true;
+ $this->getUser()->setAttribute('modifica_data', true);
+ }
+
+ if ($this->getRequestParameter('modifica_num_fattura'))
+ {
+ $this->modifica_num_fattura = true;
+ $this->getUser()->setAttribute('modifica_num_fattura', true);
+ }
+ }
+
public function validateUpdate()
{
return true;
@@ -172,11 +208,6 @@ public function executeExport()
public function executeCopia()
{
- if ($this->checkBloccoFattura())
- {
- $this->setTemplate('blocco');
- return sfView::SUCCESS;
- }
if ($this->getRequestParameter('id'))
{
@@ -211,58 +242,9 @@ public function executeCopia()
$this->redirect($this->getUser()->getReferer('@invoice'));
}
- private function checkBloccoFattura()
- {
- return false;
- }
-
- private function makeFattura()
- {
- if ($this->getRequestParameter('id_cliente'))
- {
- $this->id_cliente = $this->getRequestParameter('id_cliente');
- $this->cliente = ClientePeer::retrieveByPK($this->id_cliente);
- $this->forward404Unless($this->cliente instanceof Cliente);
-
- if ($this->fattura->isNew() && UtentePeer::getImpostazione()->getBoolFatturaAutomatica())
- {
- $this->getRequest()->setParameter('cliente_id', $this->cliente->getID());
- $this->getRequest()->setParameter('modo_pagamento_id', $this->cliente->getModoPagamentoID());
- $this->getRequest()->setParameter('vat', '20');
- $this->getRequest()->setParameter('sconto', '0');
- $this->getRequest()->setParameter('spese_anticipate', '0');
- $this->getRequest()->setParameter('calcola_ritenuta_acconto', $this->cliente->getCalcolaRitenutaAcconto());
- $this->getRequest()->setParameter('includi_tasse', $this->cliente->getIncludiTasse());
- $this->getRequest()->setParameter('calcola_tasse', $this->cliente->getCalcolaTasse());
- $this->getRequest()->setParameter('data', date("d/m/Y", time()));
- $this->getRequest()->setParameter('num_fattura', $this->fattura->getNumFattura());
- $this->getRequest()->setParameter('id_tema_fattura', $this->fattura->getIdTemaFattura());
- $this->updateFattura($this->fattura);
- }
- }
-
- if ($this->getRequestParameter('modifica_data'))
- {
- $this->modifica_data = true;
- $this->getUser()->setAttribute('modifica_data', true);
- }
-
- if ($this->getRequestParameter('modifica_num_fattura'))
- {
- $this->modifica_num_fattura = true;
- $this->getUser()->setAttribute('modifica_num_fattura', true);
- }
- }
-
private function updateFattura($fattura)
{
- if ($this->checkBloccoFattura() && $fattura->isNew())
- {
- $this->setTemplate('blocco');
- return sfView::SUCCESS;
- }
-
$i18n = new sfI18N($this->getContext()->getConfiguration());
list($d, $m, $y) = $i18n->getDateForCulture($this->getRequestParameter('data'), $this->getUser()->getCulture());
View
14 config/schema.xml
@@ -114,15 +114,11 @@
<column name="sconto" type="VARCHAR" size="10" required="true" default="0" />
<column name="iva" type="INTEGER" required="true" default="0" />
<column name="prezzo" type="VARCHAR" size="50" required="true" default="0" />
- <column name="id_tema_fattura" type="INTEGER" />
+
<index name="dettagli_fattura_FI_1">
<index-column name="fattura_id" />
</index>
- <foreign-key foreignTable="tema_fattura" onDelete="SET NULL" onUpdate="CASCADE">
- <reference local="id_tema_fattura" foreign="id" />
- </foreign-key>
-
</table>
<table name="fattura" idMethod="native">
@@ -157,7 +153,8 @@
<inheritance key="2" class="Acquisto" extends="pim.Fattura"/>
<inheritance key="1" class="Vendita" extends="pim.Fattura"/>
</column>
-
+ <column name="id_tema_fattura" type="INTEGER" />
+
<foreign-key foreignTable="modo_pagamento" onDelete="SET NULL" onUpdate="CASCADE">
<reference local="modo_pagamento_id" foreign="id" />
</foreign-key>
@@ -167,7 +164,10 @@
<foreign-key foreignTable="contatto" onDelete="CASCADE" onUpdate="CASCADE">
<reference local="cliente_id" foreign="id" />
</foreign-key>
-
+ <foreign-key foreignTable="tema_fattura" onDelete="SET NULL" onUpdate="CASCADE">
+ <reference local="id_tema_fattura" foreign="id" />
+ </foreign-key>
+
<index name="fattura_num_fattura_index">
<index-column name="num_fattura" />
</index>
View
16 data/sql/lib.model.schema.sql
@@ -148,20 +148,13 @@ CREATE TABLE `dettagli_fattura`
`sconto` VARCHAR(10) default '0' NOT NULL,
`iva` INTEGER default 0 NOT NULL,
`prezzo` VARCHAR(50) default '0' NOT NULL,
- `id_tema_fattura` INTEGER,
PRIMARY KEY (`id`),
KEY `dettagli_fattura_FI_1`(`fattura_id`),
CONSTRAINT `dettagli_fattura_FK_1`
FOREIGN KEY (`fattura_id`)
REFERENCES `fattura` (`id`)
ON UPDATE CASCADE
- ON DELETE CASCADE,
- INDEX `dettagli_fattura_FI_2` (`id_tema_fattura`),
- CONSTRAINT `dettagli_fattura_FK_2`
- FOREIGN KEY (`id_tema_fattura`)
- REFERENCES `tema_fattura` (`id`)
- ON UPDATE CASCADE
- ON DELETE SET NULL
+ ON DELETE CASCADE
)Type=MyISAM;
#-----------------------------------------------------------------------------
@@ -199,6 +192,7 @@ CREATE TABLE `fattura`
`includi_tasse` CHAR default 'n',
`calcola_tasse` CHAR default 's',
`class_key` INTEGER default 1,
+ `id_tema_fattura` INTEGER,
PRIMARY KEY (`id`),
KEY `fattura_num_fattura_index`(`num_fattura`),
KEY `fattura_cliente_id`(`cliente_id`),
@@ -220,7 +214,13 @@ CREATE TABLE `fattura`
REFERENCES `contatto` (`id`)
ON UPDATE CASCADE
ON DELETE CASCADE,
+ INDEX `fattura_FI_4` (`id_tema_fattura`),
CONSTRAINT `fattura_FK_4`
+ FOREIGN KEY (`id_tema_fattura`)
+ REFERENCES `tema_fattura` (`id`)
+ ON UPDATE CASCADE
+ ON DELETE SET NULL,
+ CONSTRAINT `fattura_FK_5`
FOREIGN KEY (`id_utente`)
REFERENCES `utente` (`id`)
ON UPDATE CASCADE
View
2  lib/graph/ContactTurnoverGraph.php
@@ -48,7 +48,7 @@ public function build()
{
if ($fatturato)
{
- $percentage = 100 * $value / $fatturato;
+ $percentage = round (100 * $value / $fatturato, 2);
$data[] = array('name' => $name .' ('.$percentage. '%)', 'y' => $value, 'sliced' => true);
}
}
View
32 lib/model/Fattura.php
@@ -426,38 +426,26 @@ public function calcolaFattura($tasse_ulteriori = array(), $tipo_ritenuta = null
}
}
- public function setIdTemaFattura($tema)
+ public function getIdTemaFattura()
{
- $dettagli = $this->getDettagliFatturas();
- if (count($dettagli))
+ if (parent::getIdTemaFattura())
{
- $dettaglio = $dettagli[0];
- }
- else {
- $dettaglio = new DettagliFattura();
- $dettaglio->setFatturaId($this->getId());
+ return parent::getIdTemaFattura();
}
- $dettaglio->setIdTemaFattura($tema);
- return $dettaglio->save();
- }
-
- public function getIdTemaFattura()
- {
- if ($this->isNew())
- {
+ if (!$this->getCliente())
+ {
return TemaFatturaPeer::doSelect(new Criteria());
}
- $dettagli = $this->getDettagliFatturas();
-
- if ($dettagli && $dettagli[0]->getTemaFattura())
+ if ($this->getCliente()->getTemaFattura())
{
- return $dettagli[0]->getTemaFattura()->getId();
- }
+ return $this->getCliente()->getTemaFattura()->getId();
+ }
+
+ return null;
- return $this->getCliente()->getTemaFattura()->getId();
}
abstract public function addToCashFlow(CashFlow $cf);
View
2  lib/model/FatturaPeer.php
@@ -41,10 +41,12 @@ public static function getFatturaOrCreate($fattura_id = 0, Cliente $cliente = nu
$fattura = new Vendita();
$fattura->setData(time());
$fattura->setNewNumFattura();
+ $fattura->setNew(true);
if ($cliente)
{
$fattura->setModoPagamentoId($cliente->getModoPagamentoID());
+ $fattura->setIdTemaFattura($cliente->getIdTemaFattura());
}
}
View
26 lib/model/TemaFattura.php
@@ -199,10 +199,15 @@ private function parser($string){
private function parseFatturaDettagli($content){
$re = "/<FOREACHDETTAGLI>.*(<\\/FOREACHDETTAGLI>.?)/smU";
preg_match($re, $content, $aMatch);
- $content_dettagli = $aMatch[0];
- $content_dettagli = str_replace('<FOREACHDETTAGLI>','',$content_dettagli);
- $content_dettagli = str_replace('</FOREACHDETTAGLI>','',$content_dettagli);
-
+
+ $content_dettagli = '';
+ if (isset($aMatch[0]))
+ {
+ $content_dettagli = $aMatch[0];
+ $content_dettagli = str_replace('<FOREACHDETTAGLI>','',$content_dettagli);
+ $content_dettagli = str_replace('</FOREACHDETTAGLI>','',$content_dettagli);
+ }
+
$new_content_dettagli = '';
foreach($this->fattura->getDettagliFatturas() as $dettaglio){
$patterns = array();
@@ -232,10 +237,15 @@ private function parseTasse($content){
if($this->fattura->getCalcolaTasse() == SI){
$re = "/<FOREACHTASSE>.*(<\\/FOREACHTASSE>.?)/smU";
preg_match($re, $content, $aMatch);
- $content_tasse = $aMatch[0];
- $content_tasse = str_replace('<FOREACHTASSE>','',$content_tasse);
- $content_tasse = str_replace('</FOREACHTASSE>','',$content_tasse);
-
+
+ $content_tasse= '';
+ if (isset($aMatch[0]))
+ {
+ $content_tasse = $aMatch[0];
+ $content_tasse = str_replace('<FOREACHTASSE>','',$content_tasse);
+ $content_tasse = str_replace('</FOREACHTASSE>','',$content_tasse);
+ }
+
$new_content_tasse = '';
foreach($this->fattura->getTasseUlteriori() as $tassa_ulteriore){
$patterns = array();
View
2  test/fixtures/companies/srl.yml
@@ -351,6 +351,7 @@ Vendita:
data: '<?php echo date('Y-m-d', strtotime('-1 year'))?>'
modo_pagamento_id: ModoPagamento_1
vat: 20
+ id_tema_fattura: TemaFattura_2
Acquisto:
<?php for($i = 1; $i < 3; $i++):?>
@@ -429,7 +430,6 @@ Entrata:
DettagliFattura:
DettaglioFattura_con_tema:
fattura_id: Fattura_con_tema
- id_tema_fattura: TemaFattura_2
<?php for($i = 2; $i <= 10; $i++):?>
DettagliFattura_year_ago_<?php echo $i?>:
fattura_id: 'Fattura_year_ago_<?php echo $i?>'
Please sign in to comment.
Something went wrong with that request. Please try again.