Ignore:
Timestamp:
Feb 17, 2021, 9:27:32 PM (3 years ago)
Author:
chronos
Message:
  • Added: Documents section accessible from users panel.
  • Added: Contract model moved to separate module Contract.
  • Added: New action to generate PDF from Contract.
  • Fixed: Allow users to download files only by hash instead of direct id.
  • Added: Support for SHA1 as allowed mysql function.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Finance/Finance.php

    r900 r901  
    2121    $this->License = 'GNU/GPLv3';
    2222    $this->Description = 'Base module for finance management';
    23     $this->Dependencies = array(ModuleFile::GetName(), ModuleEmailQueue::GetName(), ModuleSubject::GetName(), ModuleDocument::GetName());
     23    $this->Dependencies = array(ModuleFile::GetName(), ModuleEmailQueue::GetName(), ModuleSubject::GetName(),
     24      ModuleDocument::GetName());
    2425    $this->Models = array(FinanceBillingPeriod::GetClassName(), FinanceVatType::GetClassName(), FinanceVat::GetClassName(),
    2526      FinanceGroup::GetClassName(), FinanceOperationGroup::GetClassName(), FinanceOperation::GetClassName(),
     
    2728      Company::GetClassName(), FinanceTreasury::GetClassName(), FinanceTreasuryCheck::GetClassName(),
    2829      Currency::GetClassName(), FinanceBank::GetClassName(), FinanceBankAccount::GetClassName(), FinanceCharge::GetClassName(),
    29       Contract::GetClassName(), FinanceInvoiceOperationRel::GetClassName());
     30      FinanceInvoiceOperationRel::GetClassName());
    3031
    3132    $this->Bill = new Bill($this->System);
     
    423424        'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
    424425      ),
    425     ));
    426     $this->System->FormManager->RegisterClass('Contract', array(
    427       'Title' => 'Smlouvy',
    428       'Table' => 'Contract',
    429       'Items' => array(
    430         'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    431         'BillCode' => array('Type' => 'TDocumentLineCode', 'Caption' => 'Kód', 'Default' => '', 'Null' => true),
    432         'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => ''),
    433         'ValidFrom' => array('Type' => 'Date', 'Caption' => 'Platnost od', 'Default' => ''),
    434         'ValidTo' => array('Type' => 'Date', 'Caption' => 'Platnost do', 'Default' => '', 'Null' => true),
    435         'File' => array('Type' => 'TFile', 'Caption' => 'Soubor', 'Default' => '', 'Null' => true),
    436       ),
    437       'BeforeInsert' => array($this, 'BeforeInsertContract'),
    438     ));
    439     $this->System->FormManager->RegisterFormType('TContract', array(
    440       'Type' => 'Reference',
    441       'Table' => 'Contract',
    442       'Id' => 'Id',
    443       'Name' => 'BillCode',
    444       'Filter' => '1',
    445426    ));
    446427    $this->System->FormManager->RegisterFormType('TFinanceVAT', array(
     
    541522  }
    542523
    543   function DoStop(): void
    544   {
    545   }
    546 
    547524  function BeforeInsertFinanceOperation(Form $Form): array
    548525  {
     
    550527      else $Year = date("Y", $Form->Values['ValidFrom']);
    551528    $FinanceGroup = $this->Finance->GetFinanceGroupById($Form->Values['Group'], 'FinanceOperationGroup');
    552     $Form->Values['BillCode'] = $this->Finance->GetNextDocumentLineNumberId($FinanceGroup['DocumentLine'], $Year);
     529    $Form->Values['BillCode'] = ModuleDocument::Cast($this->System->GetModule('Document'))->GetNextDocumentLineNumberId($FinanceGroup['DocumentLine'], $Year);
    553530    return $Form->Values;
    554531  }
     
    576553      else $Year = date("Y", $Form->Values['ValidFrom']);
    577554    $Group = $this->Finance->GetFinanceGroupById($Form->Values['Group'], 'FinanceInvoiceGroup');
    578     $Form->Values['BillCode'] = $this->Finance->GetNextDocumentLineNumberId($Group['DocumentLine'], $Year);
     555    $Form->Values['BillCode'] = ModuleDocument::Cast($this->System->GetModule('Document'))->GetNextDocumentLineNumberId($Group['DocumentLine'], $Year);
    579556    return $Form->Values;
    580557  }
     
    621598  }
    622599
    623   function BeforeInsertContract(Form $Form): array
    624   {
    625     if (array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
    626       else $Year = date("Y", $Form->Values['ValidFrom']);
    627     $Form->Values['BillCode'] = $this->Finance->GetNextDocumentLineNumberId($Form->Values['DocumentLine'], $Year);
    628     return $Form->Values;
    629   }
    630 
    631600  static function Cast(Module $Module): ModuleFinance
    632601  {
Note: See TracChangeset for help on using the changeset viewer.