2
0
forked from Wavyzz/dolibarr

Merge branch 'develop' into toomanylines

This commit is contained in:
Laurent Destailleur
2019-01-27 17:59:13 +01:00
committed by GitHub
749 changed files with 4048 additions and 3937 deletions

View File

@@ -191,6 +191,15 @@
<rule ref="Squiz.WhiteSpace.ControlStructureSpacing.SpacingBeforeClose" />
<rule ref="Squiz.Functions.MultiLineFunctionDeclaration" />
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing">
<properties>
<property name="equalsSpacing" value="1"/>
</properties>
</rule>
<rule ref="Squiz.Functions.FunctionDeclarationArgumentSpacing.SpacingAfterHint">
<severity>0</severity>
</rule>
<!-- Rules from PEAR Standard -->
@@ -390,6 +399,10 @@
</rule>
<rule ref="PEAR.NamingConventions.ValidVariableName" />
<rule ref="PSR2.Classes.ClassDeclaration" />
<rule ref="PSR2.Methods.FunctionClosingBrace" />
<rule ref="PSR2.ControlStructures.ElseIfDeclaration.NotAllowed" />
<!-- This is not in PSR2 -->
<rule ref="PEAR.NamingConventions.ValidVariableName.PrivateNoUnderscore">
<severity>0</severity>

View File

@@ -96,9 +96,7 @@ if ($action == "set")
{
$res = dolibarr_set_const($db, "PRELEVEMENT_ADDDAYS", GETPOST("PRELEVEMENT_ADDDAYS"),'chaine',0,'',$conf->entity);
if (! $res > 0) $error++;
} else
if (! $error)
} elseif (! $error)
{
$db->commit();
setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');

View File

@@ -5,7 +5,7 @@
* Copyright (C) 2005-2011 Regis Houssin <regis.houssin@inodbox.com>
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
* Copyright (C) 2011-2013 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2011-2019 Philippe Grand <philippe.grand@atoo-net.com>
* Copyright (C) 2014 Marcos García <marcosgdf@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
@@ -44,7 +44,7 @@ abstract class ModelePdfExpedition extends CommonDocGenerator
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
/**
* Return list of active generation modules
* Return list of active generation models
*
* @param DoliDB $db Database handler
* @param integer $maxfilenamelength Max length of value to show
@@ -56,12 +56,12 @@ abstract class ModelePdfExpedition extends CommonDocGenerator
global $conf;
$type='shipping';
$liste=array();
$list=array();
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
$liste=getListOfModels($db,$type,$maxfilenamelength);
$list=getListOfModels($db,$type,$maxfilenamelength);
return $liste;
return $list;
}
}
@@ -112,7 +112,7 @@ abstract class ModelNumRefExpedition
/**
* Test if existing numbers make problems with numbering
*
* @return boolean false if conflit, true if ok
* @return boolean false if conflict, true if ok
*/
function canBeActivated()
{

View File

@@ -19,12 +19,12 @@
/**
* \file htdocs/core/modules/expensereport/mod_expensereport_jade.php
* \ingroup expensereport
* \brief File of class to manage customer order numbering rules Jade
* \brief File of class to manage expensereport numbering rules Jade
*/
require_once DOL_DOCUMENT_ROOT .'/core/modules/expensereport/modules_expensereport.php';
/**
* Class to manage customer order numbering rules Jade
* Class to manage expensereport numbering rules Jade
*/
class mod_expensereport_jade extends ModeleNumRefExpenseReport
{
@@ -55,7 +55,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport
/**
* Return description of numbering module
* Return description of numbering model
*
* @return string Text with description
*/
@@ -67,7 +67,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport
/**
* Renvoi un exemple de numerotation
* Returns an example of numbering
*
* @return string Example
*/
@@ -78,8 +78,8 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport
/**
* Test si les numeros deje en vigueur dans la base ne provoquent pas de
* de conflits qui empechera cette numerotation de fonctionner.
* Test whether the numbers already in force in the base do not cause conflicts
* that would prevent this numbering from working.
*
* @return boolean false si conflit, true si ok
*/
@@ -174,7 +174,7 @@ class mod_expensereport_jade extends ModeleNumRefExpenseReport
return $newref;
}
// D'abord on recupere la valeur max
// First we get the max value
$posindice=8;
$sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport";

View File

@@ -31,7 +31,7 @@ abstract class ModeleExpenseReport extends CommonDocGenerator
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.NotCamelCaps
/**
* Return list of active generation modules
* Return list of active models generation
*
* @param DoliDB $db Database handler
* @param integer $maxfilenamelength Max length of value to show
@@ -43,12 +43,12 @@ abstract class ModeleExpenseReport extends CommonDocGenerator
global $conf;
$type='expensereport';
$liste=array();
$list=array();
include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php';
$liste=getListOfModels($db,$type,$maxfilenamelength);
$list=getListOfModels($db,$type,$maxfilenamelength);
return $liste;
return $list;
}
}
@@ -57,10 +57,10 @@ abstract class ModeleExpenseReport extends CommonDocGenerator
* expensereport_pdf_create
*
* @param DoliDB $db Database handler
* @param ExpenseReport $object Object order
* @param ExpenseReport $object Object ExpenseReport
* @param string $message Message
* @param string $modele Force le modele a utiliser ('' to not force)
* @param Translate $outputlangs objet lang a utiliser pour traduction
* @param string $modele Force the model to use ('' to not force)
* @param Translate $outputlangs lang object to use for translation
* @param int $hidedetails Hide details of lines
* @param int $hidedesc Hide description
* @param int $hideref Hide ref
@@ -85,9 +85,9 @@ abstract class ModeleNumRefExpenseReport
public $error='';
/**
* Return if a module can be used or not
* Return if a model can be used or not
*
* @return boolean true if module can be used
* @return boolean true if model can be used
*/
function isEnabled()
{
@@ -95,9 +95,9 @@ abstract class ModeleNumRefExpenseReport
}
/**
* Renvoie la description par defaut du modele de numerotation
* Returns the default description of the numbering model
*
* @return string Texte descripif
* @return string Descriptive text
*/
function info()
{
@@ -107,7 +107,7 @@ abstract class ModeleNumRefExpenseReport
}
/**
* Renvoie un exemple de numerotation
* Returns an example of numbering
*
* @return string Example
*/
@@ -119,9 +119,9 @@ abstract class ModeleNumRefExpenseReport
}
/**
* Test si les numeros deja en vigueur dans la base ne provoquent pas de conflits qui empecheraient cette numerotation de fonctionner.
* Test whether the numbers already in force in the base do not cause conflicts that would prevent this numbering from working.
*
* @return boolean false si conflit, true si ok
* @return boolean false if conflict, true if ok
*/
function canBeActivated()
{
@@ -129,10 +129,10 @@ abstract class ModeleNumRefExpenseReport
}
/**
* Renvoie prochaine valeur attribuee
* Returns next assigned value
*
* @param Object $object Object we need next value for
* @return string Valeur
* @return string Value
*/
function getNextValue($object)
{
@@ -141,9 +141,9 @@ abstract class ModeleNumRefExpenseReport
}
/**
* Renvoie version du module numerotation
* Returns the version of the numbering module
*
* @return string Valeur
* @return string Value
*/
function getVersion()
{

View File

@@ -333,7 +333,7 @@ class ProductFournisseur extends Product
if ($result < 0) $error++;
// End call triggers
if (! $error && empty($conf->global->PRODUCT_PRICE_SUPPLIER_NO_LOG)) {
$result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrenc, $multicurrency_code);
$result = $this->logPrice($user, $now, $buyprice, $qty, $multicurrency_buyprice, $multicurrency_unitBuyPrice, $multicurrency_tx, $fk_multicurrency, $multicurrency_code);
if ($result < 0) {
$error++;
}

View File

@@ -53,3 +53,4 @@ NbOfInvoices=Nb of invoices
Paymentnumpad=Payment Num Pad
Numberspad=Numbers Pad
BillsCoinsPad=Bills and Coins Pad
DolistorePosCategory=TakePOS modules and other POS solutions for Dolibarr

View File

@@ -273,14 +273,14 @@ print '<br><br>';
// Marketplace
print "<table summary=\"list_of_modules\" class=\"noborder\" width=\"100%\">\n";
print "<tr class=\"liste_titre\">\n";
print '<td colspan="2">TakePOS Marketplace</td>';
print '<td colspan="2">'.$langs->trans("WebSiteDesc").'</td>';
print '<td>'.$langs->trans("URL").'</td>';
print '</tr>';
print "<tr class=\"oddeven\">\n";
$url='https://www.dolistore.com/en/modules/980-TakePOS-7-mobile.html';
print '<td class="left"><a href="'.$url.'" target="_blank" rel="external"><img border="0" class="imgautosize imgmaxwidth180" src="../img/marketplace/takeposmobile.jpg"></a></td>';
print '<td>TakePOS for mobile devices</td>';
$url='https://www.dolistore.com/45-pos';
print '<td class="left"><a href="'.$url.'" target="_blank" rel="external"><img border="0" class="imgautosize imgmaxwidth180" src="'.DOL_URL_ROOT.'/theme/dolistore_logo.png"></a></td>';
print '<td>'.$langs->trans("DolistorePosCategory").'</td>';
print '<td><a href="'.$url.'" target="_blank" rel="external">'.$url.'</a></td>';
print '</tr>';

View File

@@ -2,9 +2,6 @@ html,body {
padding:0;
margin:0;
height:100%;
}
body {
width:100%;
}
@@ -90,7 +87,7 @@ div.wrapper{
div.wrapper2{
float:left; /* important */
position:relative; /* important(so we can absolutely position the description div */
width:10.2%;
width:10.9%;
height:23%;
margin-top:0.5%;
margin-bottom:0.5%;
@@ -126,6 +123,68 @@ div.description{
}
}
.container{
width: 98%;
height: 98%;
margin: 0 auto;
overflow: visible;
box-sizing: border-box;
}
.row1{
margin: 0 auto;
width: 100%;
height: 34%;
}
.row2{
margin: 0 auto;
width: 100%;
height: 66%;
}
.div1{
height:100%;
width: 33%;
float: left;
text-align: center;
box-sizing: border-box;
}
.div2{
height: 100%;
width: 33%;
font-size: 0;
float: left;
text-align: center;
padding-left: 10px;
box-sizing: border-box;
}
.div3{
height: 100%;
width: 33%;
float: left;
text-align: center;
box-sizing: border-box;
}
.div4{
height: 100%;
width: 34%;
float: left;
box-sizing: border-box;
font-size: 6px;
}
.div5{
height: 100%;
width: 66%;
float: left;
box-sizing: border-box;
font-size: 6px;
}
p.description_content{
padding:10px;
margin:0px;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

View File

@@ -125,8 +125,7 @@ if ($action == "deleteline") {
$invoice->deleteline($idline);
$invoice->fetch($placeid);
}
else
if ($placeid > 0) { //If exist invoice, but no line selected, proced to delete last line
elseif ($placeid > 0) { //If exist invoice, but no line selected, proced to delete last line
$sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . "facturedet where fk_facture='$placeid' order by rowid DESC";
$resql = $db->query($sql);
$row = $db->fetch_array($resql);
@@ -325,7 +324,7 @@ if ($placeid > 0) {
if ($line->special_code == "3") { print ' order';
}
print '" id="' . $line->rowid . '">';
print '<td>' . $line->product_label . $line->desc . '</td>';
print '<td align="left">' . $line->product_label . $line->desc . '</td>';
print '<td align="right">' . $line->qty . '</td>';
print '<td align="right">' . price($line->total_ttc) . '</td>';
print '</tr>';

View File

@@ -55,7 +55,7 @@ $head='<meta name="apple-mobile-web-app-title" content="TakePOS"/>
top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
?>
<link rel="stylesheet" href="css/pos.css?a=xxx">
<link rel="stylesheet" href="css/pos.css">
<script type="text/javascript" src="js/takepos.js" ></script>
<link rel="stylesheet" href="css/colorbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery.colorbox-min.js"></script>
@@ -353,10 +353,13 @@ $( document ).ready(function() {
<body style="overflow: hidden; background-color:#E8E8E8;">
<div id="poslines" style="position:absolute; top:2%; left:0.5%; height:36%; width:31%; overflow: auto;">
<div class="container">
<div class="row1">
<div id="poslines" class="div1" style="overflow: auto;">
</div>
<div style="position:absolute; top:1%; left:32.5%; height:37%; width:32.5%; font-size: 0;">
<div class="div2">
<button type="button" class="calcbutton" onclick="Edit(7);">7</button>
<button type="button" class="calcbutton" onclick="Edit(8);">8</button>
<button type="button" class="calcbutton" onclick="Edit(9);">9</button>
@@ -420,7 +423,7 @@ if (!empty($reshook))
}
?>
<div style="position:absolute; top:1%; left:65.5%; height:37%; width:32.5%;">
<div class="div3">
<?php
$i = 0;
foreach($menus as $menu) {
@@ -435,8 +438,9 @@ foreach($menus as $menu) {
}
?>
</div>
<div style="position:absolute; top:39%; left:0.3%; height:59%; width:32%;">
</div>
<div class="row2">
<div class="div4">
<?php
$count=0;
while ($count<16)
@@ -454,7 +458,7 @@ foreach($menus as $menu) {
?>
</div>
<div style="position:absolute; top:39%; left:32%; height:58%; width:72%;">
<div class="div5">
<?php
$count=0;
while ($count<32)
@@ -471,7 +475,8 @@ while ($count<32)
}
?>
</div>
</div>
</div>
</body>
<?php

View File

@@ -17,7 +17,8 @@
use Luracast\Restler\RestException;
//require_once DOL_DOCUMENT_ROOT . '/contact/class/contact.class.php';
require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php';
require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php';
/**
* API class for users
@@ -231,6 +232,41 @@ class Users extends DolibarrApi
}
}
/**
* List the groups of a user
*
* @param int $id Id of user
* @return array Array of group objects
*
* @throws RestException
*
* @url GET {id}/groups
*/
function getGroups($id)
{
$obj_ret = array();
if (! DolibarrApiAccess::$user->rights->user->user->lire) {
throw new RestException(401);
}
$user = new User($this->db);
$result = $user->fetch($id);
if( ! $result ) {
throw new RestException(404, 'user not found');
}
$usergroup = new UserGroup($this->db);
$groups = $usergroup->listGroupsForUser($id, false);
$obj_ret = array();
foreach ($groups as $group) {
$obj_ret[] = $this->_cleanObjectDatas($group);
}
return $obj_ret;
}
/**
* Add a user into a group
*