diff --git a/htdocs/compta/cashcontrol/cashcontrol_card.php b/htdocs/compta/cashcontrol/cashcontrol_card.php index 307b024aea6..9e288d4b9a6 100644 --- a/htdocs/compta/cashcontrol/cashcontrol_card.php +++ b/htdocs/compta/cashcontrol/cashcontrol_card.php @@ -30,14 +30,9 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/cashcontrol/class/cashcontrol.class.php'; -$langs->loadLangs(array("cashcontrol","install","cashdesk","admin")); +$langs->loadLangs(array("cashcontrol","install","cashdesk","admin","banks")); $action=GETPOST('action','aZ09'); -$id=GETPOST('id'); - -if (!$user->rights->banque->configurer) - accessforbidden(); - $id=GETPOST('id','int'); $categid = GETPOST('categid'); $label = GETPOST("label"); @@ -55,6 +50,11 @@ $pagenext = $page + 1; if (! $sortfield) $sortfield='b.label'; if (! $sortorder) $sortorder='ASC'; +if (! $user->rights->cashdesk->use && ! $user->rights->takepos->use) +{ + accessforbidden(); +} + /* @@ -63,13 +63,29 @@ if (! $sortorder) $sortorder='ASC'; if ($action=="start") { - $cashcontrol= new CashControl($db); - $cashcontrol->opening=GETPOST('opening'); - if (GETPOST('posmodule')=='cashdesk') $cashcontrol->posmodule="cashdesk"; - else if (GETPOST('posmodule')=='takepos') $cashcontrol->posmodule="takepos"; - $cashcontrol->posnumber=GETPOST('posnumber'); - $id=$cashcontrol->create($user); - $action="view"; + $error=0; + if (! GETPOST('posmodule','alpha') || GETPOST('posmodule','alpha') == '-1') + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Module")), null, 'errors'); + $action='create'; + $error++; + } + if (GETPOST('opening','alpha') == '') + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("InitialBankBalance")), null, 'errors'); + $action='create'; + $error++; + } + if (! $error) + { + $cashcontrol= new CashControl($db); + $cashcontrol->opening=GETPOST('opening'); + if (GETPOST('posmodule')=='cashdesk') $cashcontrol->posmodule="cashdesk"; + else if (GETPOST('posmodule')=='takepos') $cashcontrol->posmodule="takepos"; + $cashcontrol->posnumber=GETPOST('posnumber'); + $id=$cashcontrol->create($user); + $action="view"; + } } if ($action=="close") @@ -96,12 +112,58 @@ if ($action=="create") print ''; print ''.$langs->trans("Module").''; print ''.$langs->trans("CashDesk").' ID'; + print ''.$langs->trans("Year").''; + print ''.$langs->trans("Month").''; + print ''.$langs->trans("Day").''; print ''.$langs->trans("InitialBankBalance").''; print ''; print "\n"; + + $now=dol_now(); + $syear = dol_print_date($now, "%Y"); + $smonth = dol_print_date($now, "%m"); + $sday = dol_print_date($now, "%d"); + print ''; - print ''.$form->selectarray('posmodule', $arrayofposavailable, 1).''; + print ''.$form->selectarray('posmodule', $arrayofposavailable, 1, (count($arrayofposavailable)>1?1:0)).''; print ''; + // Year + print ''; + $retstring=''; + + for ($year = $syear - 10; $year < $syear + 10 ; $year++) + { + $retstring.=''; + } + $retstring.="\n"; + print $retstring; + print ''; + // Month + print ''; + $retstring=''; + for ($month = 1 ; $month <= 12 ; $month++) + { + $retstring.='"; + } + $retstring.=""; + print $retstring; + print ''; + // Day + print ''; + $retstring=''; + if ($emptydate || $set_time == -1) + { + $retstring.=''; + } + for ($day = 1 ; $day <= 31; $day++) + { + $retstring.=''; + } + $retstring.=""; + print $retstring; + print ''; print ''; print ''; print ''; @@ -119,49 +181,50 @@ if (empty($action) || $action=="view") print '
'; print ''; - print ''; - print ''; + print '"; + + print '"; print ''; print ''; print '
'; - print $langs->trans("Code"); - print ''; + print '
'; + print $langs->trans("Ref"); + print ''; print $id; print '
'; - print $langs->trans("DateCreationShort"); - print ''; - print dol_print_date($cashcontrol->date_creation, 'dayhour'); - print '
'.$langs->trans("Module").''; + print $cashcontrol->posmodule; + print "
'.$langs->trans("InitialBankBalance").''; + print price($cashcontrol->opening); + print "
'; print $langs->trans("DateEnd"); - print ''; - print dol_print_date(strtotime($cashcontrol->year_close."-".$cashcontrol->month_close."-".$cashcontrol->day_close), 'day'); + print ''; + print $cashcontrol->year_close."-".$cashcontrol->month_close."-".$cashcontrol->day_close; print '
'; print $langs->trans("Status"); - print ''; + print ''; if ($cashcontrol->status==1) print $langs->trans("Opened"); if ($cashcontrol->status==2) print $langs->trans("Closed"); print '
'; print ''; + print '
'; print '
'; print ''; - print '"; + print ''; - print '"; - print '"; - print "
'.$langs->trans("InitialBankBalance").''; - print price($cashcontrol->opening); - print "
'; + print $langs->trans("DateCreationShort"); + print ''; + print dol_print_date($cashcontrol->date_creation, 'dayhour'); + print '
'.$langs->trans("CashDesk").' ID'; + print '
'.$langs->trans("CashDesk").' ID'; print $cashcontrol->posnumber; print "
'.$langs->trans("Module").''; - print $cashcontrol->posmodule; - print "
\n"; print '
'; print '
'; diff --git a/htdocs/compta/cashcontrol/cashcontrol_list.php b/htdocs/compta/cashcontrol/cashcontrol_list.php index ba0f985f510..219a8d987af 100644 --- a/htdocs/compta/cashcontrol/cashcontrol_list.php +++ b/htdocs/compta/cashcontrol/cashcontrol_list.php @@ -166,8 +166,8 @@ if (empty($reshook)) // Mass actions $objectclass='CashControl'; $objectlabel='CashControl'; - $permtoread = ($user->rights->cashdesk->read || $user->rights->takepos->read); - $permtodelete = ($user->rights->cashdesk->delete || $user->rights->takepos->delete); + $permtoread = ($user->rights->cashdesk->use || $user->rights->takepos->use); + $permtodelete = ($user->rights->cashdesk->use || $user->rights->takepos->use); //$uploaddir = ''; //include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php'; diff --git a/htdocs/compta/cashcontrol/class/cashcontrol.class.php b/htdocs/compta/cashcontrol/class/cashcontrol.class.php index 5750a0877c9..0b10d49c4bf 100644 --- a/htdocs/compta/cashcontrol/class/cashcontrol.class.php +++ b/htdocs/compta/cashcontrol/class/cashcontrol.class.php @@ -58,16 +58,16 @@ class CashControl extends CommonObject 'rowid' =>array('type'=>'integer', 'label'=>'ID', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>10), 'entity' =>array('type'=>'integer', 'label'=>'Entity', 'enabled'=>1, 'visible'=>0, 'notnull'=>1, 'position'=>15), 'ref' =>array('type'=>'varchar(64)', 'label'=>'Ref', 'enabled'=>1, 'visible'=>1, 'notnull'=>1, 'position'=>18), - 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>0, 'position'=>20), + 'posmodule' =>array('type'=>'varchar(30)', 'label'=>'Module', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>19), + 'posnumber' =>array('type'=>'varchar(30)', 'label'=>'CashDesk', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>20), + 'label' =>array('type'=>'varchar(255)', 'label'=>'Label', 'enabled'=>1, 'visible'=>0, 'position'=>24), 'opening' =>array('type'=>'double(24,8)', 'label'=>'Opening', 'enabled'=>1, 'visible'=>1, 'position'=>25), 'cash' =>array('type'=>'double(24,8)', 'label'=>'Cash', 'enabled'=>1, 'visible'=>1, 'position'=>30), 'cheque' =>array('type'=>'double(24,8)', 'label'=>'Cheque', 'enabled'=>1, 'visible'=>1, 'position'=>33), - 'card' =>array('type'=>'double(24,8)', 'label'=>'Card', 'enabled'=>1, 'visible'=>1, 'position'=>36), - 'day_close' =>array('type'=>'integer', 'label'=>'Day close', 'enabled'=>1, 'visible'=>1, 'position'=>50), + 'card' =>array('type'=>'double(24,8)', 'label'=>'CreditCard', 'enabled'=>1, 'visible'=>1, 'position'=>36), + 'year_close' =>array('type'=>'integer', 'label'=>'Year close', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>50), 'month_close' =>array('type'=>'integer', 'label'=>'Month close', 'enabled'=>1, 'visible'=>1, 'position'=>55), - 'year_close' =>array('type'=>'integer', 'label'=>'Year close', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>60), - 'posmodule' =>array('type'=>'varchar(30)', 'label'=>'Module', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>65), - 'posnumber' =>array('type'=>'varchar(30)', 'label'=>'CashDesk', 'enabled'=>1, 'visible'=>1, 'notnul'=>1, 'position'=>70), + 'day_close' =>array('type'=>'integer', 'label'=>'Day close', 'enabled'=>1, 'visible'=>1, 'position'=>60), 'date_creation' =>array('type'=>'datetime', 'label'=>'Date creation', 'enabled'=>1, 'visible'=>-1, 'notnull'=>1, 'position'=>500), 'tms' =>array('type'=>'timestamp', 'label'=>'Tms', 'enabled'=>1, 'visible'=>0, 'notnull'=>1, 'position'=>505), 'import_key' =>array('type'=>'varchar(14)', 'label'=>'Import key', 'enabled'=>1, 'visible'=>0, 'position'=>510), diff --git a/htdocs/core/modules/modTakePos.class.php b/htdocs/core/modules/modTakePos.class.php index df541c97e90..c47a66c3de2 100644 --- a/htdocs/core/modules/modTakePos.class.php +++ b/htdocs/core/modules/modTakePos.class.php @@ -104,7 +104,7 @@ class modTakePos extends DolibarrModules $this->langfiles = array("cashdesk"); $this->phpmin = array(5,4); // Minimum version of PHP required by module $this->need_dolibarr_version = array(4,0); // Minimum version of Dolibarr required by module - $this->warnings_activation = array(); // Warning to show when we activate module. array('always'='text') or array('FR'='textfr','ES'='textes'...) + $this->warnings_activation = array('FR'=>'WarningNoteModulePOSForFrenchLaw'); // Warning to show when we activate module. array('always'='text') or array('FR'='text') $this->warnings_activation_ext = array(); // Warning to show when we activate an external module. array('always'='text') or array('FR'='textfr','ES'='textes'...) //$this->automatic_activation = array('FR'=>'TakePosWasAutomaticallyActivatedBecauseOfYourCountryChoice'); //$this->always_enabled = true; // If true, can't be disabled @@ -195,27 +195,15 @@ class modTakePos extends DolibarrModules // Permissions $this->rights = array(); // Permission array used by this module - /*$r=0; - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Read myobject of TakePos'; // Permission label - $this->rights[$r][3] = 1; // Permission by default for new user (0/1) - $this->rights[$r][4] = 'read'; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) - $this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) + $r=0; $r++; - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Create/Update myobject of TakePos'; // Permission label - $this->rights[$r][3] = 1; // Permission by default for new user (0/1) - $this->rights[$r][4] = 'write'; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) - $this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) + $this->rights[$r][0] = 50151; + $this->rights[$r][1] = 'Use point of sale'; + $this->rights[$r][2] = 'a'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'use'; - $r++; - $this->rights[$r][0] = $this->numero + $r; // Permission id (must not be already used) - $this->rights[$r][1] = 'Delete myobject of TakePos'; // Permission label - $this->rights[$r][3] = 1; // Permission by default for new user (0/1) - $this->rights[$r][4] = 'delete'; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) - $this->rights[$r][5] = ''; // In php code, permission will be checked by test if ($user->rights->takepos->level1->level2) - */ // Main menu entries $this->menu = array(); // List of menus to add