Code Duplication    Length = 25-25 lines in 2 locations

src/Intraface/modules/procurement/Procurement.php 2 locations

@@ 571-595 (lines=25) @@
568
569
        $total = 0;
570
        $vat = 0;
571
        foreach ($debet_accounts as $key => $debet_account) {
572
            if ($validator->isNumeric($debet_account['amount'], 'Ugyldig beløb i linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"', 'greater_than_zero')) {
573
                $amount = new Intraface_Amount($debet_account['amount']);
574
                $amount->convert2db();
575
                $total += $amount->get();
576
577
                $validator->isString($debet_account['text'], 'Ugyldig tekst i linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"', '', 'allow_empty');
578
579
                if (empty($debet_account['state_account_id'])) {
580
                    $this->error->set('Linje ' . ($key + 1) . ' "' . $debet_account['text'] . '" ved ikke hvor den skal bogføres');
581
                } else {
582
                    require_once 'Intraface/modules/accounting/Account.php';
583
                    $account = Account::factory($year, $debet_account['state_account_id']);
584
585
                    // @todo check this. I changed it to make sure that we are able to state varekøb til videresalg
586
                    // || $account->get('type') != 'operating'
587
                    if ($account->get('id') == 0) {
588
                        $this->error->set('Ugyldig konto for bogføring af linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"');
589
                    } elseif ($account->get('vat') == 'in') {
590
                        $vat += $amount->get() / 100 * $account->get('vat_percent');
591
                    }
592
                }
593
            }
594
        }
595
596
        if ($this->error->isError()) {
597
            return false;
598
        }
@@ 636-660 (lines=25) @@
633
634
        $total = 0;
635
        $vat = 0;
636
        foreach ($debet_accounts as $key => $debet_account) {
637
            if ($validator->isNumeric($debet_account['amount'], 'Ugyldig beløb i linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"', 'greater_than_zero')) {
638
                $amount = new Intraface_Amount($debet_account['amount']);
639
                $amount->convert2db();
640
                $total += $amount->get();
641
642
                $validator->isString($debet_account['text'], 'Ugyldig tekst i linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"', '', 'allow_empty');
643
644
                if (empty($debet_account['state_account_id'])) {
645
                    $this->error->set('Linje ' . ($key + 1) . ' "' . $debet_account['text'] . '" ved ikke hvor den skal bogføres');
646
                } else {
647
                    require_once 'Intraface/modules/accounting/Account.php';
648
                    $account = Account::factory($year, $debet_account['state_account_id']);
649
650
                    // @todo check this. I changed it to make sure that we are able to state varekøb til videresalg
651
                    // || $account->get('type') != 'operating'
652
                    if ($account->get('id') == 0) {
653
                        $this->error->set('Ugyldig konto for bogføring af linje ' . ($key + 1) . ' "' . $debet_account['text'] . '"');
654
                    } elseif ($account->get('vat') == 'in') {
655
                        $vat += $amount->get() / 100 * $account->get('vat_percent');
656
                    }
657
                }
658
            }
659
        }
660
661
        if ($this->error->isError()) {
662
            return false;
663
        }