From 2bfde7ba309be2ff356b0ee1fd894bfe19f4aab7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 6 Aug 2014 03:01:17 +0200 Subject: [PATCH] Add table llx_holiday_types to store type of leave. --- htdocs/holiday/admin/tomergewithholiday.php | 226 ++++++++++++++++++ htdocs/holiday/img/add.png | Bin 0 -> 3208 bytes htdocs/holiday/img/delete.png | Bin 0 -> 3350 bytes htdocs/holiday/img/edit.png | Bin 0 -> 3307 bytes .../install/mysql/migration/3.6.0-3.7.0.sql | 14 ++ .../mysql/tables/llx_holiday_types.sql | 30 +++ htdocs/theme/eldy/style.css.php | 35 +++ 7 files changed, 305 insertions(+) create mode 100755 htdocs/holiday/admin/tomergewithholiday.php create mode 100755 htdocs/holiday/img/add.png create mode 100755 htdocs/holiday/img/delete.png create mode 100755 htdocs/holiday/img/edit.png create mode 100755 htdocs/install/mysql/tables/llx_holiday_types.sql diff --git a/htdocs/holiday/admin/tomergewithholiday.php b/htdocs/holiday/admin/tomergewithholiday.php new file mode 100755 index 0000000000000..7ff795a455b75 --- /dev/null +++ b/htdocs/holiday/admin/tomergewithholiday.php @@ -0,0 +1,226 @@ + + * Copyright (C) 2011 Dimitri Mouillard + * Copyright (C) 2012 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * Page module configuration paid holiday. + * + * \file holiday.php + * \ingroup holiday + * \brief Page module configuration paid holiday. + */ + +require '../../main.inc.php'; +require DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; +require_once DOL_DOCUMENT_ROOT. '/core/class/html.form.class.php'; +require_once DOL_DOCUMENT_ROOT. '/user/class/user.class.php'; +require_once DOL_DOCUMENT_ROOT. '/user/class/usergroup.class.php'; + +// Si pas administrateur +if (! $user->admin) accessforbidden(); + + +/* + * View + */ + +// Vérification si module activé +if (empty($conf->holiday->enabled)) print $langs->trans('NotActiveModCP'); + +llxheader('',$langs->trans('TitleAdminCP')); + +print_fiche_titre($langs->trans('MenuCPTypes')); + +echo '
'; + +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; +echo ''; + +$types = $db->query( + "SELECT * + FROM llx_congespayes_types + WHERE deleteAt IS NULL + ORDER BY label" +); + +while($type = $db->fetch_array($types)) +{ + echo' + + + + + + + + + + + + + '; +} + +echo ' + + + + + + +
' . $langs->trans('TypeLabel') . '' . $langs->trans('TypeDescription') . '' . $langs->trans('TypeAffect') . '' . $langs->trans('TypeDelay') . '' . $langs->trans('nbCongesDeductedCPMini') . '' . $langs->trans('nbCongesEveryMonthCPMini') . '
'.$type['label'].''.($type['description']?$type['description']:'N/A').' + '.($type['affect']?$langs->trans('TypeAffectYes'):$langs->trans('TypeAffectNo')).' + '.$type['delay'].''.$type['nbCongesDeducted'].''.$type['nbCongesEveryMonth'].' + + +
+ +
+ +'; + +echo '
'; + +llxFooter(); + +$db->close(); +?> \ No newline at end of file diff --git a/htdocs/holiday/img/add.png b/htdocs/holiday/img/add.png new file mode 100755 index 0000000000000000000000000000000000000000..d15cb50d8357f798867c21d9adf994fed6cfb45e GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index e8a62f9d05d35..54aea6de52d8a 100644 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -945,3 +945,17 @@ create table llx_c_email_templates UPDATE llx_c_regions SET rowid = 0 where rowid = 1; DELETE FROM llx_c_departements WHERE fk_region NOT IN (select rowid from llx_c_regions) AND fk_region IS NOT NULL AND fk_region <> 0; ALTER TABLE llx_c_departements ADD CONSTRAINT fk_departements_fk_region FOREIGN KEY (fk_region) REFERENCES llx_c_regions (rowid); + + +CREATE TABLE llx_holiday_types ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + label varchar(45) NOT NULL, + description varchar(255) NOT NULL, + affect int(1) NOT NULL, + delay int(1) NOT NULL, + insertAt DATETIME NOT NULL, + updateAt DATETIME, + deleteAt DATETIME, + nbCongesDeducted varchar(255) NOT NULL, + nbCongesEveryMonth varchar(255) NOT NULL +); diff --git a/htdocs/install/mysql/tables/llx_holiday_types.sql b/htdocs/install/mysql/tables/llx_holiday_types.sql new file mode 100755 index 0000000000000..4fa2c5e387f76 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_holiday_types.sql @@ -0,0 +1,30 @@ +-- =================================================================== +-- Copyright (C) 2014 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +CREATE TABLE llx_holiday_types ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + label varchar(45) NOT NULL, + description varchar(255) NOT NULL, + affect int(1) NOT NULL, + delay int(1) NOT NULL, + insertAt DATETIME NOT NULL, + updateAt DATETIME, + deleteAt DATETIME, + nbCongesDeducted varchar(255) NOT NULL, + nbCongesEveryMonth varchar(255) NOT NULL +); diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 319a58131abc0..76a6a43f9bb0a 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -2564,6 +2564,41 @@ } +/* ============================================================================== */ +/* Holiday */ +/* ============================================================================== */ + +#types .btn { + cursor: pointer; +} + +#types .btn-primary { + font-weight: bold; +} + +#types form { + padding: 20px; +} + +#types label { + display:inline-block; + width:100px; + margin-right: 20px; + padding: 4px; + text-align: right; + vertical-align: top; +} + +#types input.text, #types textarea { + width: 400px; +} + +#types textarea { + height: 100px; +} + + + /* ============================================================================== */ /* JSGantt */ /* ============================================================================== */