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='\n";
+ print $retstring;
+ print ' | ';
+ // Month
+ print '';
+ $retstring='";
+ print $retstring;
+ print ' | ';
+ // Day
+ print '';
+ $retstring='";
+ print $retstring;
+ print ' | ';
print ' | ';
print ' | ';
print '
';
@@ -119,49 +181,50 @@ if (empty($action) || $action=="view")
print '';
print '';
- print '| ';
- print $langs->trans("Code");
- print ' | ';
+ print ' |
| ';
+ print $langs->trans("Ref");
+ print ' | ';
print $id;
print ' |
';
- print '| ';
- print $langs->trans("DateCreationShort");
- print ' | ';
- print dol_print_date($cashcontrol->date_creation, 'dayhour');
- print ' |
';
+ print '| '.$langs->trans("Module").' | ';
+ print $cashcontrol->posmodule;
+ print " |
";
+
+ print '| '.$langs->trans("InitialBankBalance").' | ';
+ print price($cashcontrol->opening);
+ print " |
";
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 '| ';
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 '| '.$langs->trans("InitialBankBalance").' | ';
- print price($cashcontrol->opening);
- print " |
";
+ print '| ';
+ print $langs->trans("DateCreationShort");
+ print ' | ';
+ print dol_print_date($cashcontrol->date_creation, 'dayhour');
+ print ' |
';
- print '| '.$langs->trans("CashDesk").' ID | ';
+ print ' |
| '.$langs->trans("CashDesk").' ID | ';
print $cashcontrol->posnumber;
print " |
";
- print '| '.$langs->trans("Module").' | ';
- print $cashcontrol->posmodule;
- print " |
";
-
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