Skip to content

Commit

Permalink
Currency
Browse files Browse the repository at this point in the history
  • Loading branch information
baimard committed Nov 18, 2021
1 parent 13434a7 commit 57005a5
Show file tree
Hide file tree
Showing 11 changed files with 612 additions and 79 deletions.
2 changes: 1 addition & 1 deletion js/main.app.js

Large diffs are not rendered by default.

27 changes: 14 additions & 13 deletions lib/Db/Bdd.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ class Bdd {
public function __construct(IDbConnection $db,
IL10N $l) {

$this->whiteColumn = array("date", "num", "id_client", "entreprise", "nom", "prenom", "siret", "telephone", "mail", "adresse", "produit_id", "quantite", "date_paiement", "type_paiement", "id_devis", "reference", "description", "prix_unitaire", "siren", "path", "tva_default", "mentions_default", "version", "mentions", "comment", "status_paiement");
$this->whiteColumn = array("date", "num", "id_client", "entreprise", "nom", "prenom", "siret", "telephone", "mail", "adresse", "produit_id", "quantite", "date_paiement", "type_paiement", "id_devis", "reference", "description", "prix_unitaire", "siren", "path", "tva_default", "mentions_default", "version", "mentions", "comment", "status_paiement", "devise");
$this->whiteTable = array("client", "devis", "produit_devis", "facture", "produit", "configuration");
$this->tableprefix = '*PREFIX*' ."gestion_";
$this->pdo = $db;
Expand Down Expand Up @@ -63,7 +63,7 @@ public function getProduits($idNextcloud){
}

public function getOneDevis($numdevis,$idNextcloud){
$sql = "SELECT ".$this->tableprefix."devis.id as devisid, ".$this->tableprefix."devis.version, ".$this->tableprefix."devis.comment, date, num, id_client, ".$this->tableprefix."client.id as clientid, nom, prenom, siret, entreprise, telephone, mail, adresse FROM ".$this->tableprefix."devis, ".$this->tableprefix."client WHERE id_client = ".$this->tableprefix."client.id AND ".$this->tableprefix."devis.id = ? AND ".$this->tableprefix."devis.id_nextcloud = ?";
$sql = "SELECT ".$this->tableprefix."devis.id as devisid, ".$this->tableprefix."devis.version, ".$this->tableprefix."devis.comment, date, num, id_client, ".$this->tableprefix."client.id as clientid, nom, prenom, siret, entreprise, telephone, mail, adresse FROM ".$this->tableprefix."devis left join ".$this->tableprefix."client on id_client = ".$this->tableprefix."client.id WHERE ".$this->tableprefix."devis.id = ? AND ".$this->tableprefix."devis.id_nextcloud = ?";
return $this->execSQL($sql, array($numdevis,$idNextcloud));
}

Expand Down Expand Up @@ -111,7 +111,7 @@ public function insertProduit($idNextcloud,$ref,$des){

public function insertProduitDevis($id,$idNextcloud){
$res = $this->searchMaxIdProduit($idNextcloud);
$sql = "INSERT INTO `".$this->tableprefix."produit_devis` (`devis_id`, `id_nextcloud`,`produit_id`,`quantite`) VALUES (?,?,?,1);";
$sql = "INSERT INTO `".$this->tableprefix."produit_devis` (`devis_id`, `id_nextcloud`,`produit_id`,`quantite`,`discount`) VALUES (?,?,?,1,0);";
return $this-> execSQL($sql, array($id,$idNextcloud,$res[0]['id']));

}
Expand Down Expand Up @@ -151,17 +151,18 @@ public function checkConfig($idNextcloud){
$sql = "SELECT count(*) as res FROM `".$this->tableprefix."configuration` WHERE `id_nextcloud` = ?";
$res = json_decode($this->execSQL($sql, array($idNextcloud)))[0]->res;
if ( $res < 1 ){
$sql = "INSERT INTO `".$this->tableprefix."configuration` (`id`, `entreprise`, `nom`, `prenom`, `siret`, `siren`, `mail`, `telephone`, `adresse`, `path`, `id_nextcloud`,`mentions_default`,`tva_default`) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, '/', ?, ?, '0');";
$this->execSQL($sql, array($this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$this->l->t('Your company data'),
$sql = "INSERT INTO `".$this->tableprefix."configuration` (`id`, `entreprise`, `nom`, `prenom`, `siret`, `siren`, `mail`, `telephone`, `adresse`, `path`, `id_nextcloud`,`mentions_default`,`tva_default`,`devise`) VALUES (NULL, ?, ?, ?, ?, ?, ?, ?, ?, '/', ?, ?, '0',?);";
$this->execSQL($sql, array($this->l->t('Your company name'),
$this->l->t('Your company contact surname'),
$this->l->t('Your company contact name'),
$this->l->t('Your Limited company'),
$this->l->t('Your company Unique identification'),
$this->l->t('Your company mail'),
$this->l->t('Your company phone'),
$this->l->t('Your company address'),
$idNextcloud,
$this->l->t('Legal Disclaimer ...')
$this->l->t('All Legal mentions or disclaimer or everything you want in the footer.'),
$this->l->t('EUR')
)
);
}
Expand Down
Empty file modified lib/Migration/Version2Date20210707000001.php
100755 → 100644
Empty file.
Empty file modified lib/Migration/Version4Date20211110180142.php
100755 → 100644
Empty file.
326 changes: 326 additions & 0 deletions lib/Migration/Version5Date20211118102345.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,326 @@
<?php

declare(strict_types=1);

namespace OCA\Gestion\Migration;

use Closure;
use OCP\DB\ISchemaWrapper;
use OCP\Migration\IOutput;
use OCP\Migration\SimpleMigrationStep;

/**
* Auto-generated migration step: Please modify to your needs!
*/
class Version5Date20211118102345 extends SimpleMigrationStep {

/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
*/
public function preSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
}

/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
* @return null|ISchemaWrapper
*/
public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) {
/** @var ISchemaWrapper $schema */
$schema = $schemaClosure();
$tableprefix = "gestion_";

/**Client**/
if (!$schema->hasTable($tableprefix.'client')) {
$table = $schema->createTable($tableprefix.'client');
}
$table = $schema->getTable($tableprefix.'client');
if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true,]);
$table->setPrimaryKey(['id']);
}
if (!$table->hasColumn('nom')) {
$table->addColumn('nom', 'text', []);
}
if (!$table->hasColumn('prenom')) {
$table->addColumn('prenom', 'text', []);
}
if (!$table->hasColumn('siret')) {
$table->addColumn('siret', 'text', []);
}
if (!$table->hasColumn('entreprise')) {
$table->addColumn('entreprise', 'text', []);
}
if (!$table->hasColumn('telephone')) {
$table->addColumn('telephone', 'text', []);
}
if (!$table->hasColumn('mail')) {
$table->addColumn('mail', 'text', []);
}
if (!$table->hasColumn('adresse')) {
$table->addColumn('adresse', 'text', []);
}
if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

/**Configuration**/
if (!$schema->hasTable($tableprefix.'configuration')) {
$table = $schema->createTable($tableprefix.'configuration');
}
$table = $schema->getTable($tableprefix.'configuration');
if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true,]);
$table->setPrimaryKey(['id']);
}

if (!$table->hasColumn('entreprise')) {
$table->addColumn('entreprise', 'text', []);
}

if (!$table->hasColumn('nom')) {
$table->addColumn('nom', 'text', []);
}

if (!$table->hasColumn('prenom')) {
$table->addColumn('prenom', 'text', []);
}

if (!$table->hasColumn('siret')) {
$table->addColumn('siret', 'text', []);
}

if (!$table->hasColumn('siren')) {
$table->addColumn('siren', 'text', []);
}

if (!$table->hasColumn('mail')) {
$table->addColumn('mail', 'text', []);
}

if (!$table->hasColumn('telephone')) {
$table->addColumn('telephone', 'text', []);
}

if (!$table->hasColumn('adresse')) {
$table->addColumn('adresse', 'text', []);
}

if (!$table->hasColumn('path')) {
$table->addColumn('path', 'text', []);
}

if (!$table->hasColumn('mentions_default')) {
$table->addColumn('mentions_default', 'string', ['default'=>'Legales mentions']);
}else{
$column = $table->getColumn('mentions_default');
$column->setOptions(['default'=>'Legales mentions']);
}

if (!$table->hasColumn('tva_default')) {
$table->addColumn('tva_default', 'float', ['default' => 0]);
}else{
$column = $table->getColumn('tva_default');
$column->setOptions(['default' => 0]);
}

if (!$table->hasColumn('changelog')) {
$table->addColumn('changelog', 'string', ['default' => '0']);
}else{
$column = $table->getColumn('changelog');
$column->setOptions(['default' => '0']);
}

if (!$table->hasColumn('devise')) {
$table->addColumn('devise', 'string', ['default' => 'EUR']);
}else{
$column = $table->getColumn('devise');
$column->setOptions(['default' => 'EUR']);
}

if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

/**DEVIS**/
if (!$schema->hasTable($tableprefix.'devis')) {
$table = $schema->createTable($tableprefix.'devis');
}

$table = $schema->getTable($tableprefix.'devis');
if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true]);
$table->setPrimaryKey(['id']);
}

if (!$table->hasColumn('date')) {
$table->addColumn('date', 'date', []);
}

if (!$table->hasColumn('num')) {
$table->addColumn('num', 'text', []);
}

if (!$table->hasColumn('comment')) {
$table->addColumn('comment', 'string', ['default' => "comment"]);
}else{
$column = $table->getColumn('comment');
$column->setOptions(['default' => 'comment']);
}

if (!$table->hasColumn('version')) {
$table->addColumn('version', 'string', ['length' => 64, 'default' => "1.0"]);
}else{
$column = $table->getColumn('version');
$column->setOptions(['default' => '1.0']);
}

if (!$table->hasColumn('mentions')) {
$table->addColumn('mentions', 'string', ['default' => "New"]);
}else{
$column = $table->getColumn('mentions');
$column->setOptions(['default' => 'New']);
}

if (!$table->hasColumn('id_client')) {
$table->addColumn('id_client', 'integer', ['length' => 11]);
}

if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

/**FACTURE**/
if (!$schema->hasTable($tableprefix.'facture')) {
$table = $schema->createTable($tableprefix.'facture');
}

$table = $schema->getTable($tableprefix.'facture');

if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true,]);
$table->setPrimaryKey(['id']);
}

if (!$table->hasColumn('num')) {
$table->addColumn('num', 'text', []);
}

if (!$table->hasColumn('date')) {
$table->addColumn('date', 'string', ['length' => 64,]);
}

if (!$table->hasColumn('date_paiement')) {
$table->addColumn('date_paiement', 'date', []);
}

if (!$table->hasColumn('type_paiement')) {
$table->addColumn('type_paiement', 'string', ['length' => 64]);
}

if (!$table->hasColumn('status_paiement')) {
$table->addColumn('status_paiement', 'string', ['length' => 64, 'default' => 'NC']);
}else{
$column = $table->getColumn('status_paiement');
$column->setOptions(['default' => 'NC']);
}

if (!$table->hasColumn('version')) {
$table->addColumn('version', 'string', ['length' => 64, 'default' => '1.0']);
}else{
$column = $table->getColumn('version');
$column->setOptions(['default' => '1.0']);
}
if (!$table->hasColumn('id_devis')) {
$table->addColumn('id_devis', 'integer', ['length' => 11]);
}

if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

/** PRODUIT **/
if (!$schema->hasTable($tableprefix.'produit')) {
$table = $schema->createTable($tableprefix.'produit');
}

$table = $schema->getTable($tableprefix.'produit');
if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true,]);
$table->setPrimaryKey(['id']);
}

if (!$table->hasColumn('reference')) {
$table->addColumn('reference', 'text', []);
}

if (!$table->hasColumn('description')) {
$table->addColumn('description', 'text', []);
}

if (!$table->hasColumn('prix_unitaire')) {
$table->addColumn('prix_unitaire', 'float', ['default' => 0]);
}else{
$column = $table->getColumn('prix_unitaire');
$column->setOptions(['default' => 0]);
}

if (!$table->hasColumn('vat')) {
$table->addColumn('vat', 'float', ['default' => 0]);
}else{
$column = $table->getColumn('vat');
$column->setOptions(['default' => 0]);
}

if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

/** PRODUIT_DEVIS **/
if (!$schema->hasTable($tableprefix.'produit_devis')) {
$table = $schema->createTable($tableprefix.'produit_devis');
}

$table = $schema->getTable($tableprefix.'produit_devis');
if (!$table->hasColumn('id')) {
$table->addColumn('id', 'integer', ['autoincrement' => true,'notnull' => true,]);
$table->setPrimaryKey(['id']);
}

if (!$table->hasColumn('devis_id')) {
$table->addColumn('devis_id', 'integer', ['length' => 11,]);
}

if (!$table->hasColumn('produit_id')) {
$table->addColumn('produit_id', 'integer', ['length' => 11,]);
}

if (!$table->hasColumn('quantite')) {
$table->addColumn('quantite', 'integer', ['length' => 11,]);
}

if (!$table->hasColumn('discount')) {
$table->addColumn('discount', 'integer', ['length' => 11, 'default' => 0]);
}else{
$column = $table->getColumn('discount');
$column->setOptions(['default' => 0]);
}

if (!$table->hasColumn('id_nextcloud')) {
$table->addColumn('id_nextcloud', 'string', ['length' => 64]);
}

return $schema;
}

/**
* @param IOutput $output
* @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
* @param array $options
*/
public function postSchemaChange(IOutput $output, Closure $schemaClosure, array $options): void {
}
}
Loading

0 comments on commit 57005a5

Please sign in to comment.