diff --git a/appinfo/routes.php b/appinfo/routes.php index af8b224e3202c5cce0024cf1505aedaa820729f0..0786509847f0c39858861c623ac7877eaa634811 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -20,6 +20,8 @@ return [ ['name' => 'page#archive_list', 'url' => '/archive_list', 'verb' => 'GET'], ['name' => 'page#archive_action', 'url' => '/archive_action', 'verb' => 'POST'], ['name' => 'page#archive_csv', 'url' => '/archive_csv', 'verb' => 'GET'], - ['name' => 'page#user_list', 'url' => '/user_list', 'verb' => ['GET', 'POST']], + //['name' => 'page#user_list', 'url' => '/user_list', 'verb' => ['GET', 'POST']], + ['name' => 'page#user_list', 'url' => '/user_list', 'verb' => 'GET'], + ['name' => 'page#user_list', 'url' => '/user_list', 'verb' => 'POST'], ] ]; diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php index 1b104ee5921d3421b108bbdf1a8c43bae2823d36..fb9e766a177df341d0dd6097ec225f5e0a0812ab 100644 --- a/lib/Controller/PageController.php +++ b/lib/Controller/PageController.php @@ -5,10 +5,9 @@ use OC\Files\Filesystem; use OCP\Files\NotFoundException; use OCP\IConfig; use OCP\IL10N; +use OCP\IURLGenerator; use OCP\IRequest; use OCP\AppFramework\Http\TemplateResponse; -//use OCP\AppFramework\Http\DataResponse; -//use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Controller; use OC; @@ -25,8 +24,8 @@ use OCA\Dematpayslip\Db\DematpayslipProcessSkipMapper; use OCA\Dematpayslip\Db\DematpayslipUser; use OCA\Dematpayslip\Db\DematpayslipUserMapper; +// Pastell use OCA\Pastell\Db\PastellConfigFlowMapper; - use OCA\Pastell\PastellAPI; class PageController extends Controller { @@ -105,6 +104,9 @@ class PageController extends Controller { /** @var IL10N */ private $l; + /** @var IURLGenerator */ + private $_urlGenerator; + /** @var string User Id */ private $userId; @@ -150,6 +152,13 @@ class PageController extends Controller { /** @var array User */ private $_userList; + /** + * Pastell app exists + * + * @var bool + */ + private $_pastellAppExists = false; + /** * Check if payslip file has not been archived yet @@ -202,12 +211,12 @@ class PageController extends Controller { } } - // Pastell API config - $pastellConfigFlowId = $this->config->getAppValue($this->appName, 'pastell_config_f' . $archiveFlowNum . '_id', ''); - $pastellConfigFlowMapper = new PastellConfigFlowMapper(OC::$server->getDatabaseConnection()); - $pastellConfigFlow = $pastellConfigFlowMapper->find($pastellConfigFlowId); - try { + // Pastell API config + $pastellConfigFlowId = $this->config->getAppValue($this->appName, 'pastell_config_f' . $archiveFlowNum . '_id', ''); + $pastellConfigFlowMapper = new PastellConfigFlowMapper(OC::$server->getDatabaseConnection()); + $pastellConfigFlow = $pastellConfigFlowMapper->find($pastellConfigFlowId); + // Pastell API connection $pastellAPI = new PastellAPI($pastellConfigFlow->getIdConfig()); @@ -423,7 +432,8 @@ class PageController extends Controller { 'canCancelProcess' => $this->_canCancelProcess, 'msgList' => $this->_msgList, 'processArr' => $this->_process->jsonSerialize(), - 'userArr' => array('id' => $this->userId) + 'userArr' => array('id' => $this->userId), + 'pastellAppExists' => $this->_pastellAppExists, ); } @@ -995,18 +1005,18 @@ class PageController extends Controller { * Load config */ private function _loadConfig() { - $this->_dematpayslipConfigList['payslip_dir'] = OC::$server->getConfig()->getAppValue($this->appName, 'payslip_dir', 'Bulletins'); // Bulletins - $this->_dematpayslipConfigList['user_id'] = OC::$server->getConfig()->getAppValue($this->appName, 'user_id', 'demat'); // demat - $this->_dematpayslipConfigList['app_data_dir'] = OC::$server->getConfig()->getAppValue($this->appName, 'app_data_dir', 'dematpayslip'); // dematpayslip directory of user demat (upload, check, report, etc) + $this->_dematpayslipConfigList['payslip_dir'] = $this->config->getAppValue($this->appName, 'payslip_dir', 'Bulletins'); // Bulletins + $this->_dematpayslipConfigList['user_id'] = $this->config->getAppValue($this->appName, 'user_id', 'demat'); // demat + $this->_dematpayslipConfigList['app_data_dir'] = $this->config->getAppValue($this->appName, 'app_data_dir', 'dematpayslip'); // dematpayslip directory of user demat (upload, check, report, etc) if (empty($this->_dematpayslipConfigList['payslip_dir']) || empty($this->_dematpayslipConfigList['user_id'])) { $this->_msgList['error'][] = $this->l->t('Veuillez vérifier la configuration de cette application.'); } - $pastellUse = OC::$server->getConfig()->getAppValue($this->appName, 'pastell_use', ''); + $pastellUse = $this->config->getAppValue($this->appName, 'pastell_use', ''); if (!empty($pastellUse)) { // check Pastell API config - $pastellConfigFlow1Id = OC::$server->getConfig()->getAppValue($this->appName, 'pastell_config_f1_id', ''); - $pastellConfigFlow2Id = OC::$server->getConfig()->getAppValue($this->appName, 'pastell_config_f2_id', ''); + $pastellConfigFlow1Id = $this->config->getAppValue($this->appName, 'pastell_config_f1_id', ''); + $pastellConfigFlow2Id = $this->config->getAppValue($this->appName, 'pastell_config_f2_id', ''); if (!($pastellConfigFlow1Id > 0) || !($pastellConfigFlow2Id > 0)) { $this->_msgList['error'][] = $this->l->t('Veuillez vérifier la configuration de cette application.'); } @@ -1020,6 +1030,7 @@ class PageController extends Controller { * @param IRequest $request Request * @param IConfig $config Config * @param IL10N $l Lang + * @param IURLGenerator $urlGenerator Url generator * @param DematpayslipProcessMapper $dematpayslipProcessMapper Dematpayslip process mapper * @param DematpayslipProcessSkipMapper $dematpayslipProcessSkipMapper Dematpayslip process skip mapper * @param DematpayslipUserMapper $dematpayslipUserMapper Dematpayslip user mapper @@ -1030,6 +1041,7 @@ class PageController extends Controller { IRequest $request, IConfig $config, IL10N $l, + IURLGenerator $urlGenerator, DematpayslipProcessMapper $dematpayslipProcessMapper, DematpayslipProcessSkipMapper $dematpayslipProcessSkipMapper, DematpayslipUserMapper $dematpayslipUserMapper, @@ -1038,10 +1050,17 @@ class PageController extends Controller { parent::__construct($AppName, $request); $this->config = $config; $this->l = $l; + $this->_urlGenerator = $urlGenerator; + $this->userId = $UserId; + + // Dematpayslip $this->_dematpayslipProcessMapper = $dematpayslipProcessMapper; $this->_dematpayslipProcessSkipMapper = $dematpayslipProcessSkipMapper; $this->_dematpayslipUserMapper = $dematpayslipUserMapper; - $this->userId = $UserId; + + // check if Pastell app exists + $pastellAppDir = __DIR__ . '/../../../pastell'; + if (is_dir($pastellAppDir)) $this->_pastellAppExists = true; // load config $this->_loadConfig(); @@ -1777,8 +1796,10 @@ class PageController extends Controller { $launchArchive = filter_input(INPUT_POST, 'payslip_launch_archive', FILTER_SANITIZE_NUMBER_INT); $launchIndexation = intval($launchIndexation); $launchArchive = intval($launchArchive); - if ($launchIndexation != 1 && $launchArchive != 1) { - $this->_msgList['error'][] = $this->l->t('Veuillez sélectionner au moins un élément entre "Indexation" et "Archivage".'); + if ($this->_pastellAppExists === true) { + if ($launchIndexation != 1 && $launchArchive != 1) { + $this->_msgList['error'][] = $this->l->t('Veuillez sélectionner au moins un élément entre "Indexation" et "Archivage".'); + } } if (count($this->_msgList['error']) <= 0) { diff --git a/lib/Db/DematpayslipProcessSkipMapper.php b/lib/Db/DematpayslipProcessSkipMapper.php index c44c9447ff1a8d16fdd8242ea81818c67d5debce..b327cff32b996c5a406d8fea033659085828ccd6 100644 --- a/lib/Db/DematpayslipProcessSkipMapper.php +++ b/lib/Db/DematpayslipProcessSkipMapper.php @@ -7,7 +7,7 @@ use OCP\AppFramework\Db\QBMapper; class DematpayslipProcessSkipMapper extends QBMapper { public function __construct(IDbConnection $db) { - parent::__construct($db, 'dematpayslip_process_skip', DematpayslipProcessSkip::class); + parent::__construct($db, 'demat_process_skip', DematpayslipProcessSkip::class); } public function find(int $id) { diff --git a/lib/Migration/Version010002Date20191029020000.php b/lib/Migration/Version010002Date20191029020000.php index fe35d3721c4ca8c78d43acad0323f09ce5b8174c..ddfcf6956fb65f3b2edf69b57a6dcf1821528b89 100644 --- a/lib/Migration/Version010002Date20191029020000.php +++ b/lib/Migration/Version010002Date20191029020000.php @@ -19,8 +19,8 @@ class Version010002Date20191029020000 extends SimpleMigrationStep { /** @var ISchemaWrapper $schema */ $schema = $schemaClosure(); - if (!$schema->hasTable('dematpayslip_process_skip')) { - $table = $schema->createTable('dematpayslip_process_skip'); + if (!$schema->hasTable('demat_process_skip')) { + $table = $schema->createTable('demat_process_skip'); $table->addColumn('id', 'integer', [ 'autoincrement' => true, 'notnull' => true, @@ -35,7 +35,7 @@ class Version010002Date20191029020000 extends SimpleMigrationStep { ]); $table->setPrimaryKey(['id']); - $table->addUniqueIndex(['id_process', 'id_line'], 'dematpayslip_process_skip_line'); + $table->addUniqueIndex(['id_process', 'id_line'], 'demat_process_skip_line'); } return $schema; diff --git a/lib/Migration/Version010003Date20191115020000.php b/lib/Migration/Version010003Date20191115020000.php index 9ea4b073d2e7183b3c25e538a87480a825179c98..2473e9f774036fb79de6b803b4a5d60b99e5cd2a 100644 --- a/lib/Migration/Version010003Date20191115020000.php +++ b/lib/Migration/Version010003Date20191115020000.php @@ -28,7 +28,7 @@ class Version010003Date20191115020000 extends SimpleMigrationStep { $table->dropIndex('dematpayslip_user_user_id'); $table->dropIndex('dematpayslip_user_matricule'); $table->dropIndex('dematpayslip_user_email'); - $table->addUniqueIndex(['siret', 'matricule'], 'dematpayslip_user_siret_matricule'); + $table->addUniqueIndex(['siret', 'matricule'], 'demat_user_siret_matricule'); return $schema; } diff --git a/lib/Migration/Version020000Date20200608040000.php b/lib/Migration/Version020000Date20200608040000.php index d65832a511c23b7d868bb78053c0854ce31bc518..8b7f39041b04ba15d51b1c8bb6aab6106db242b9 100644 --- a/lib/Migration/Version020000Date20200608040000.php +++ b/lib/Migration/Version020000Date20200608040000.php @@ -125,10 +125,10 @@ class Version020000Date20200608040000 extends SimpleMigrationStep { ]); $table->setPrimaryKey(['id']); - $table->addUniqueIndex(['id_file'], 'dematpayslip_archive_id_file'); - $table->addUniqueIndex(['pastell_id_document'], 'dematpayslip_archive_pastell_id_document'); - $table->addIndex(['id_user'], 'dematpayslip_archive_id_user'); - $table->addIndex(['dematpayslip_id_user'], 'dematpayslip_archive_dematpayslip_id_user'); + $table->addUniqueIndex(['id_file'], 'demat_archive_id_file'); + $table->addUniqueIndex(['pastell_id_document'], 'demat_archive_pastell_id_doc'); + $table->addIndex(['id_user'], 'demat_archive_id_user'); + $table->addIndex(['dematpayslip_id_user'], 'demat_archive_demat_id_user'); } return $schema; diff --git a/lib/Migration/Version030000Date20210212020000.php b/lib/Migration/Version030000Date20210212020000.php new file mode 100644 index 0000000000000000000000000000000000000000..7e2cca287f0419c1b1a71b958c8089358e7cb5b0 --- /dev/null +++ b/lib/Migration/Version030000Date20210212020000.php @@ -0,0 +1,47 @@ +<?php + +namespace OCA\Dematpayslip\Migration; + +use Closure; +use OCP\DB\ISchemaWrapper; +use OCP\Migration\SimpleMigrationStep; +use OCP\Migration\IOutput; + +class Version030000Date20210212020000 extends SimpleMigrationStep { + + /** + * @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(); + + if ($schema->hasTable('dematpayslip_process_skip')) { + $schema->dropTable('dematpayslip_process_skip'); + } + + if (!$schema->hasTable('demat_process_skip')) { + $table = $schema->createTable('demat_process_skip'); + $table->addColumn('id', 'integer', [ + 'autoincrement' => true, + 'notnull' => true, + ]); + $table->addColumn('id_process', 'integer', [ + 'notnull' => true, + 'default' => 0, + ]); + $table->addColumn('id_line', 'integer', [ + 'notnull' => true, + 'default' => 0, + ]); + + $table->setPrimaryKey(['id']); + $table->addUniqueIndex(['id_process', 'id_line'], 'demat_process_skip_line'); + } + + return $schema; + } +} diff --git a/lib/Settings/AdminSettings.php b/lib/Settings/AdminSettings.php index 22a67747555b899788ebaf98a6ed7172b3c71224..24473176b4b64a93a1506f3331db09ca0e053d4d 100644 --- a/lib/Settings/AdminSettings.php +++ b/lib/Settings/AdminSettings.php @@ -2,23 +2,27 @@ namespace OCA\Dematpayslip\Settings; use OCP\AppFramework\Http\TemplateResponse; -use OCP\BackgroundJob\IJobList; use OCP\IConfig; use OCP\IDateTimeFormatter; use OCP\IL10N; +use OCP\Share\IManager as IShareManager; +use OCP\IUserManager; +use OCP\Files\IRootFolder; use OCP\Settings\ISettings; use OCP\Files\Folder; -use OCA\Dematpayslip\Db\DematpayslipUserMapper; -use OCA\Pastell\PastellAPI; +use Exception; +use OCA\Dematpayslip\Db\DematpayslipUserMapper; -use OCA\Pastell\Db\PastellConfig; -use OCA\Pastell\Db\PastellConfigMapper; -use OCA\Pastell\Db\PastellConfigFlow; +//use OCA\Pastell\PastellAPI; +//use OCA\Pastell\Db\PastellConfig; +//use OCA\Pastell\Db\PastellConfigMapper; +//use OCA\Pastell\Db\PastellConfigFlow; use OCA\Pastell\Db\PastellConfigFlowMapper; class AdminSettings implements ISettings { + /** @var IConfig */ private $config; @@ -28,8 +32,14 @@ class AdminSettings implements ISettings { /** @var IDateTimeFormatter */ private $dateTimeFormatter; - /** @var IJobList */ - private $jobList; + /** @var IRootFolder */ + private $_rootFolder; + + /** @var IShareManager */ + private $_shareManager; + + /** @var IUserManager */ + private $_userManager; private $appName; @@ -43,19 +53,11 @@ class AdminSettings implements ISettings { private $_dematpayslipConfigList = array(); /** - * Pastell config list + * Pastell app exists * - * @var array + * @var bool */ - private $_pastellConfigFlowList = array(); - - /** - * Config flow mapper - * - * @var PastellConfigFlowMapper - */ - private $_pastellConfigFlowMapper; - + private $_pastellAppExists = false; /** @var array Message List */ private $_msgList = array( @@ -79,10 +81,14 @@ class AdminSettings implements ISettings { $this->_dematpayslipConfigList['pastell_config_f2_id'] = $this->config->getAppValue($this->appName, 'pastell_config_f2_id'); // archiving for 50 years // pastell config mapper - $pastellUse = intval($this->_dematpayslipConfigList['pastell_use']); - if ($pastellUse === 1) { - $this->_pastellConfigFlowMapper = new PastellConfigFlowMapper(\OC::$server->getDatabaseConnection()); - $this->_pastellConfigFlowList = $this->_pastellConfigFlowMapper->findAll(); + $this->_pastellConfigFlowMapper = null; + $this->_pastellConfigFlowList = array(); + if ($this->_pastellAppExists === true) { + $pastellUse = intval($this->_dematpayslipConfigList['pastell_use']); + if ($pastellUse === 1) { + $this->_pastellConfigFlowMapper = new PastellConfigFlowMapper(\OC::$server->getDatabaseConnection()); + $this->_pastellConfigFlowList = $this->_pastellConfigFlowMapper->findAll(); + } } return array( @@ -104,13 +110,20 @@ class AdminSettings implements ISettings { $payslipDir = $this->config->getAppValue($this->appName, 'payslip_dir'); $payslipUserId = $this->config->getAppValue($this->appName, 'user_id'); - $rootFolder = \OC::$server->getRootFolder(); - $shareManager = \OC::$server->getShareManager(); - $userFolder = $rootFolder->getUserFolder($payslipUserId); + $rootFolder = $this->_rootFolder; + $shareManager = $this->_shareManager; + $userFolder = null; + try { + $userFolder = $rootFolder->getUserFolder($payslipUserId); + } catch (Exception $e) { + $this->_msgList['error'][] = $this->l->t('Utilisateur non trouvé') . ' : ' . $payslipUserId . "<br />" . $e->getMessage(); + } - $payslipShareNode = $userFolder->get($payslipDir); - if ($payslipShareNode instanceof Folder) { - $payslipShareList = $shareManager->getSharesInFolder($payslipUserId, $payslipShareNode); + if (empty($this->_msgList['error'])) { + $payslipShareNode = $userFolder->get($payslipDir); + if ($payslipShareNode instanceof Folder) { + $payslipShareList = $shareManager->getSharesInFolder($payslipUserId, $payslipShareNode); + } } return $payslipShareList; @@ -126,40 +139,47 @@ class AdminSettings implements ISettings { $payslipDir = $this->config->getAppValue($this->appName, 'payslip_dir'); $payslipUserId = $this->config->getAppValue($this->appName, 'user_id'); - $rootFolder = \OC::$server->getRootFolder(); - $shareManager = \OC::$server->getShareManager(); - $userFolder = $rootFolder->getUserFolder($payslipUserId); - $userManager = \OC::$server->getUserManager(); + $rootFolder = $this->_rootFolder; + $shareManager = $this->_shareManager; + $userManager = $this->_userManager; - // payslip already shared - $payslipShareList = $this->_payslipShareList(); - $payslipMatriculeShareNodeIdList = array(); - if (count($payslipShareList) > 0) { - foreach ($payslipShareList as $payslipShareNodeId => $payslipShareArr) { - $payslipMatriculeShareNodeIdList[] = $payslipShareNodeId; - } + $userFolder = null; + try { + $userFolder = $rootFolder->getUserFolder($payslipUserId); + } catch (Exception $e) { + $this->_msgList['error'][] = $this->l->t('Répertoire utilisateur non trouvé') . ' : ' . $payslipUserId . "<br />" . $e->getMessage(); } - $payslipFolder = $userFolder->get($payslipDir); - if ($payslipFolder instanceof Folder) { - $payslipMatriculeNodeList = $payslipFolder->getDirectoryListing(); - foreach ($payslipMatriculeNodeList as $payslipMatriculeNode) { - if ($payslipMatriculeNode instanceof Folder) { - $siret = ''; - $matricule = ''; - $siretMatricule = $payslipMatriculeNode->getName(); - $siretMatriculeArr = explode('-', $siretMatricule); - if (count($siretMatriculeArr)>=2) { - $siret = $siretMatriculeArr[0]; - $matricule = $siretMatriculeArr[1]; - } - - $dematpayslipUserList = $this->_dematpayslipUserMapper->findAllBySiretAndMatricule($siret, $matricule); - if (count($dematpayslipUserList) === 1) { - $dematpayslipUser = $dematpayslipUserList[0]; + if (empty($this->_msgList['error'])) { + // payslip already shared + $payslipShareList = $this->_payslipShareList(); + $payslipMatriculeShareNodeIdList = array(); + if (count($payslipShareList) > 0) { + foreach ($payslipShareList as $payslipShareNodeId => $payslipShareArr) { + $payslipMatriculeShareNodeIdList[] = $payslipShareNodeId; + } + } - // s'il l'utilisateur n'a pas desactive la dematerialisation de son bulletin de paie - //if ($dematpayslipUser->getDisabled() != 1) { + $payslipFolder = $userFolder->get($payslipDir); + if ($payslipFolder instanceof Folder) { + $payslipMatriculeNodeList = $payslipFolder->getDirectoryListing(); + foreach ($payslipMatriculeNodeList as $payslipMatriculeNode) { + if ($payslipMatriculeNode instanceof Folder) { + $siret = ''; + $matricule = ''; + $siretMatricule = $payslipMatriculeNode->getName(); + $siretMatriculeArr = explode('-', $siretMatricule); + if (count($siretMatriculeArr) >= 2) { + $siret = $siretMatriculeArr[0]; + $matricule = $siretMatriculeArr[1]; + } + + $dematpayslipUserList = $this->_dematpayslipUserMapper->findAllBySiretAndMatricule($siret, $matricule); + if (count($dematpayslipUserList) === 1) { + $dematpayslipUser = $dematpayslipUserList[0]; + + // s'il l'utilisateur n'a pas desactive la dematerialisation de son bulletin de paie + //if ($dematpayslipUser->getDisabled() != 1) { // verifier que l'utilisateur existe toujours $dematpayslipUserExists = $userManager->userExists($dematpayslipUser->getUserId()); if ($dematpayslipUserExists === true) { @@ -175,11 +195,12 @@ class AdminSettings implements ISettings { $payslipMatriculeShare = $shareManager->createShare($payslipMatriculeShare); } } - //} - } else { - // error - $this->_msgList['error'][] = $this->l->t('Impossible de re-partager le dossier [matricule="' . $matricule . '"] : aucun utilisateur n\'est associé.'); - break; + //} + } else { + // error + $this->_msgList['error'][] = $this->l->t('Impossible de re-partager le dossier [matricule="' . $matricule . '"] : aucun utilisateur n\'est associé.'); + break; + } } } } @@ -195,7 +216,7 @@ class AdminSettings implements ISettings { private function _payslipsUnshare() { $payslipShareList = self::_payslipShareList(); - $shareManager = \OC::$server->getShareManager(); + $shareManager = $this->_shareManager; if (count($payslipShareList) > 0) { foreach ($payslipShareList as $payslipShareArr) { if (is_array($payslipShareArr) && count($payslipShareArr)>=1) { @@ -212,7 +233,9 @@ class AdminSettings implements ISettings { * @param IConfig $config Config * @param IL10N $l Lang * @param IDateTimeFormatter $dateTimeFormatter Date formatter - * @param IJobList $jobList Job list + * @param IRootFolder $rootFolder Root folder + * @param IShareManager $shareManager Share manager + * @param IUserManager $userManager User manager * @param DematpayslipUserMapper $dematpayslipUserMapper Dematpayslip user mapper * @param string $UserId User Id */ @@ -220,7 +243,9 @@ class AdminSettings implements ISettings { IConfig $config, IL10N $l, IDateTimeFormatter $dateTimeFormatter, - IJobList $jobList, + IRootFolder $rootFolder, + IShareManager $shareManager, + IUserManager $userManager, DematpayslipUserMapper $dematpayslipUserMapper, $UserId ) { @@ -228,9 +253,15 @@ class AdminSettings implements ISettings { $this->config = $config; $this->l = $l; $this->dateTimeFormatter = $dateTimeFormatter; - $this->jobList = $jobList; + $this->_rootFolder = $rootFolder; + $this->_shareManager = $shareManager; + $this->_userManager = $userManager; $this->_dematpayslipUserMapper = $dematpayslipUserMapper; $this->userId = $UserId; + + // check if Pastell app exists + $pastellAppDir = __DIR__ . '/../../../pastell'; + if (is_dir($pastellAppDir)) $this->_pastellAppExists = true; } /** diff --git a/templates/content/index.php b/templates/content/index.php index 19d962eaef1b35778a5e24076e7b00623c318076..8fa8922179123c41b61d24462ee472786cc613d3 100644 --- a/templates/content/index.php +++ b/templates/content/index.php @@ -1,11 +1,12 @@ <?php + $urlGenerator = OC::$server->getURLGenerator(); + // assigned $canCancelProcess = (isset($_['canCancelProcess']) ? $_['canCancelProcess'] : false); $msgList = (isset($_['msgList']) ? $_['msgList'] : array()); $processArr = (isset($_['processArr']) ? $_['processArr'] : array()); $userArr = (isset($_['userArr']) ? $_['userArr'] : array()); - - $urlGenerator = OC::$server->getURLGenerator(); + $pastellAppExists = (isset($_['pastellAppExists']) ? $_['pastellAppExists'] : false); // alert messages $htmlAlert = ''; @@ -104,9 +105,12 @@ <form action="<?php print $urlGenerator->linkToRoute('dematpayslip.page.indexation', array('retry' => $retry)); ?>" id="dematpayslips_indexation_form" name="dematpayslips_indexation_form" method="POST" role="form"> <input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']); ?>"> <div> - <input type="checkbox" id="payslip_launch_indexation" name="payslip_launch_indexation" value="1" checked="checked" /> <label for="payslip_launch_indexation"><?php p($l->t('Envoi en dématérialisation')); ?></label> - - <input type="checkbox" id="payslip_launch_archive" name="payslip_launch_archive" value="1" checked="checked" /> <label for="payslip_launch_archive"><?php p($l->t('Archivage')); ?></label> + <?php if ($pastellAppExists == true) { ?> + <input type="checkbox" id="payslip_launch_indexation" name="payslip_launch_indexation" value="1" checked="checked" /> <label for="payslip_launch_indexation"><?php p($l->t('Envoi en dématérialisation')); ?></label> + <input type="checkbox" id="payslip_launch_archive" name="payslip_launch_archive" value="1" checked="checked" /> <label for="payslip_launch_archive"><?php p($l->t('Archivage')); ?></label> + <?php } else { ?> + <input type="hidden" id="payslip_launch_indexation" name="payslip_launch_indexation" value="1" /> <label for="payslip_launch_indexation"><?php p($l->t('Envoi en dématérialisation')); ?></label> + <?php } ?> </div> <div> <button type="submit" class="btn btn-default"><?php p($l->t('Lancer')); ?></button> diff --git a/templates/content/shares.php b/templates/content/shares.php index ea50edd479d837c2d2edef01ef3502c9b1ff29a9..f275de537454979ca79e9af4b21f2e26f5e3970d 100644 --- a/templates/content/shares.php +++ b/templates/content/shares.php @@ -1,4 +1,6 @@ <?php + $urlGenerator = OC::$server->getURLGenerator(); + // assigned $dematpayslipUserList = (isset($_['dematpayslipUserList']) ? $_['dematpayslipUserList'] : array()); $msgList = (isset($_['msgList']) ? $_['msgList'] : array()); @@ -61,7 +63,7 @@ $linkTitle .= ' (SIRET : ' . $dematpayslipUser->getSiret() . ')'; } ?> - <a href="<?php echo \OC\URLGenerator::linkToRoute('files.view.index', ['dir' => '/' . $dematpayslipUser->getSiret() . '-' . $dematpayslipUser->getMatricule()]); ?>" class="button" title="<?php p($linkTitle); ?>"><?php p($linkTitle); ?></a> + <a href="<?php echo $urlGenerator->linkToRoute('files.view.index', ['dir' => '/' . $dematpayslipUser->getSiret() . '-' . $dematpayslipUser->getMatricule()]); ?>" class="button" title="<?php p($linkTitle); ?>"><?php p($linkTitle); ?></a> <?php //} } diff --git a/templates/navigation/index.php b/templates/navigation/index.php index abb2bcd881d88d81ad21e51cc28ea42d8bf5ff07..afbe2c8a6d0bb63e7345c5aaa58d95a9acf0b919 100644 --- a/templates/navigation/index.php +++ b/templates/navigation/index.php @@ -1,12 +1,15 @@ +<?php + $urlGenerator = OC::$server->getURLGenerator(); +?> <ul> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.index'); ?>">Dématérialisation</a></li> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.agent_list'); ?>">Liste des agents</a></li> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.archive_list'); ?>">Liste des bulletins</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.index'); ?>">Dématérialisation</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.agent_list'); ?>">Liste des agents</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.archive_list'); ?>">Liste des bulletins</a></li> <li> <ul> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_INIT]); ?>">A archiver</a></li> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_PROGRESS]); ?>">En cours</a></li> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_ARCHIVED]); ?>">Archivés</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_INIT]); ?>">A archiver</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_PROGRESS]); ?>">En cours</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.archive_list', ['step_status' => \OCA\Dematpayslip\Db\DematpayslipArchive::STEP_STATUS_ARCHIVED]); ?>">Archivés</a></li> </ul> </li> </ul> diff --git a/templates/navigation/shares.php b/templates/navigation/shares.php index ace521bdbe0184d5b37647026775cee3f89cd1ef..334faa862fd0e4b2fc55d13bb654f13ed0d5ad4d 100644 --- a/templates/navigation/shares.php +++ b/templates/navigation/shares.php @@ -1,3 +1,6 @@ +<?php + $urlGenerator = OC::$server->getURLGenerator(); +?> <ul> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.shares'); ?>">Dématérialisation</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.shares'); ?>">Dématérialisation</a></li> </ul> diff --git a/templates/settings/admin.php b/templates/settings/admin.php index 852d4034c42c9aa80db9a0260d8cbb37720a079f..3f09b313106147a3a8fad626629e9789bda163b1 100644 --- a/templates/settings/admin.php +++ b/templates/settings/admin.php @@ -107,6 +107,7 @@ script('dematpayslip', 'admin'); </form> </div> + <?php if (count($pastellConfigFlowList) > 0) { ?> <div class="section"> <h2><?php p($l->t('Archivage (Pastell)')); ?></h2> <form name="pastell_config_admin" method="get"> @@ -147,4 +148,5 @@ script('dematpayslip', 'admin'); </div> </form> </div> + <?php } ?> </div> \ No newline at end of file diff --git a/templates/settings/index.php b/templates/settings/index.php index 22d688c2af4a36f3f6f6bbdb9f31e2d037fcbb2a..36687550095a4dcc79b1d82a40222b42cae75333 100644 --- a/templates/settings/index.php +++ b/templates/settings/index.php @@ -1,3 +1,6 @@ +<?php + $urlGenerator = OC::$server->getURLGenerator(); +?> <div id="app-settings"> <div id="app-settings-header"> <button class="settings-button" @@ -6,7 +9,7 @@ </div> <div id="app-settings-content"> <ul> - <li><a href="<?php echo \OC\URLGenerator::linkToRoute('dematpayslip.page.user_list'); ?>">Liste des utilisateurs</a></li> + <li><a href="<?php echo $urlGenerator->linkToRoute('dematpayslip.page.user_list'); ?>">Liste des utilisateurs</a></li> </ul> </div> </div>