Пример #1
0
 public static function checkOut($number, Publisher $publisher)
 {
     if (R::count('record', ' number = :number AND isnull(`in`) ', ['number' => $number]) > 0) {
         return null;
     }
     $territoryBean = R::findOne('territory', ' number = :number ', ['number' => $number]);
     if ($territoryBean === null) {
         return null;
     }
     $bean = R::dispense('record');
     $bean->number = $number;
     $bean->out = time();
     $bean->in = null;
     $bean->checkOutBy = App::user()->id;
     $record = new Record($number, $bean);
     $territoryBean->sharedRecordList[] = $bean;
     $publisherBean = $publisher->bean();
     $publisherBean->ownRecordList[] = $bean;
     R::storeAll([$bean, $territoryBean, $publisherBean]);
     $publisher->records[] = $record;
     return $record;
 }
Пример #2
0
 public static function searchByName($name, $limit = 10)
 {
     $beans = R::findAll('publisher', ' name like :name order by name limit :limit ', ['limit' => $limit, 'name' => '%' . $name . '%']);
     $publishers = [];
     foreach ($beans as $bean) {
         $publishers[] = Publisher::fromBean($bean);
     }
     return $publishers;
 }
Пример #3
0
<?php

use Enpowi\App;
use Enpowi\Modules\Module;
use ETM\Publisher;
Module::is();
if (App::param('action') === 'merge') {
    $publisher = App::param('publisher');
    $publishers = App::params('publishers');
    if (Publisher::merge($publisher, $publishers) > 0) {
        echo 1;
    } else {
        echo 0;
    }
}
Пример #4
0
    Record::checkOut(3, $bobby);
    Record::checkOut(4, $bobby);
    $bobby->save();
    Record::checkOut(5, $robert);
    Record::checkOut(6, $robert);
    $robert->save();
    Publisher::merge('Bob', ['Bobby', 'Robert']);
    $tf->assertEquals(count((new Publisher('Bob'))->bindRecords()->records), 6);
});
$tf->test('Merging will not happen on destination publisher', function (\Testify\Testify $tf) {
    $bob = Publisher::fromName('Bob');
    $bobby = Publisher::fromName('Bobby');
    $robert = Publisher::fromName('Robert');
    (new Territory(1))->replace();
    (new Territory(2))->replace();
    (new Territory(3))->replace();
    (new Territory(4))->replace();
    (new Territory(5))->replace();
    (new Territory(6))->replace();
    Record::checkOut(1, $bob);
    Record::checkOut(2, $bob);
    $bob->save();
    Record::checkOut(3, $bobby);
    Record::checkOut(4, $bobby);
    $bobby->save();
    Record::checkOut(5, $robert);
    Record::checkOut(6, $robert);
    $robert->save();
    Publisher::merge('Bob', ['Bob', 'Bobby', 'Robert']);
    $tf->assertEquals(count((new Publisher('Bob'))->bindRecords()->records), 6);
});
Пример #5
0
<?php

use ETM;
use Enpowi\App;
use Enpowi\Modules\Module;
Module::is();
$number = App::param('number');
$publisher = ETM\Publisher::fromName(App::param('publisherName'));
echo ETM\Record::checkOut($number, $publisher) === null ? -1 : 1;