Added module descriptor and activation checks
Corrected 3 missing $error_occurred flags
This commit is contained in:
parent
e875f0c2b8
commit
557cbaf3d7
121
htdocs/core/modules/modSyncSupplierWebServices.class.php
Executable file
121
htdocs/core/modules/modSyncSupplierWebServices.class.php
Executable file
@ -0,0 +1,121 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2014 Ion Agorria <ion@agorria.com>
|
||||||
|
*
|
||||||
|
* 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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \defgroup webservices Module webservices
|
||||||
|
* \brief Module to enable client for supplier WebServices
|
||||||
|
* \file htdocs/core/modules/modSyncSupplierWebServices.class.php
|
||||||
|
* \ingroup webservices
|
||||||
|
* \brief File to describe client for supplier webservices module
|
||||||
|
*/
|
||||||
|
include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class to describe a WebServices module
|
||||||
|
*/
|
||||||
|
class modSyncSupplierWebServices extends DolibarrModules
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor. Define names, constants, directories, boxes, permissions
|
||||||
|
*
|
||||||
|
* @param DoliDB $db Database handler
|
||||||
|
*/
|
||||||
|
function __construct($db)
|
||||||
|
{
|
||||||
|
$this->db = $db;
|
||||||
|
$this->numero = 2650;
|
||||||
|
|
||||||
|
$this->family = "technic";
|
||||||
|
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
|
||||||
|
$this->name = preg_replace('/^mod/i','',get_class($this));
|
||||||
|
$this->description = "Enable the client for external supplier web services";
|
||||||
|
$this->version = 'dolibarr'; // 'experimental' or 'dolibarr' or version
|
||||||
|
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
|
||||||
|
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
|
||||||
|
// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
|
||||||
|
$this->special = 1;
|
||||||
|
// Name of image file used for this module.
|
||||||
|
$this->picto='technic';
|
||||||
|
|
||||||
|
// Data directories to create when module is enabled
|
||||||
|
$this->dirs = array();
|
||||||
|
|
||||||
|
// Config pages
|
||||||
|
//-------------
|
||||||
|
//$this->config_page_url = array("webservices.php@webservices");
|
||||||
|
|
||||||
|
// Dependancies
|
||||||
|
//-------------
|
||||||
|
$this->depends = array();
|
||||||
|
$this->requiredby = array();
|
||||||
|
$this->langfiles = array("other");
|
||||||
|
|
||||||
|
// Constantes
|
||||||
|
//-----------
|
||||||
|
$this->const = array();
|
||||||
|
|
||||||
|
// New pages on tabs
|
||||||
|
// -----------------
|
||||||
|
$this->tabs = array();
|
||||||
|
|
||||||
|
// Boxes
|
||||||
|
//------
|
||||||
|
$this->boxes = array();
|
||||||
|
|
||||||
|
// Permissions
|
||||||
|
//------------
|
||||||
|
$this->rights = array();
|
||||||
|
$this->rights_class = 'syncsupplierwebservices';
|
||||||
|
$r=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when module is enabled.
|
||||||
|
* The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database.
|
||||||
|
* It also creates data directories
|
||||||
|
*
|
||||||
|
* @param string $options Options when enabling module ('', 'noboxes')
|
||||||
|
* @return int 1 if OK, 0 if KO
|
||||||
|
*/
|
||||||
|
function init($options='')
|
||||||
|
{
|
||||||
|
// Prevent pb of modules not correctly disabled
|
||||||
|
//$this->remove($options);
|
||||||
|
|
||||||
|
$sql = array();
|
||||||
|
|
||||||
|
return $this->_init($sql,$options);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function called when module is disabled.
|
||||||
|
* Remove from database constants, boxes and permissions from Dolibarr database.
|
||||||
|
* Data directories are not deleted
|
||||||
|
*
|
||||||
|
* @param string $options Options when enabling module ('', 'noboxes')
|
||||||
|
* @return int 1 if OK, 0 if KO
|
||||||
|
*/
|
||||||
|
function remove($options='')
|
||||||
|
{
|
||||||
|
$sql = array();
|
||||||
|
|
||||||
|
return $this->_remove($sql,$options);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -7,6 +7,7 @@
|
|||||||
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
|
* Copyright (C) 2011 Philippe Grand <philippe.grand@atoo-net.com>
|
||||||
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||||
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
* Copyright (C) 2013 Florian Henry <florian.henry@open-concept.pro>
|
||||||
|
* Copyright (C) 2014 Ion Agorria <ion@agorria.com>
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -1065,8 +1066,10 @@ if ($action == 'webservice' && GETPOST('mode', 'alpha') == "send" && ! GETPOST('
|
|||||||
'entity'=>$ws_entity
|
'entity'=>$ws_entity
|
||||||
);
|
);
|
||||||
|
|
||||||
//Is everything filled?
|
//Is sync supplier web services module activated? and everything filled?
|
||||||
if ($mode != "init" && (empty($ws_host) || empty($ws_key) || empty($ws_user) || empty($ws_password) || empty($ws_thirdparty))) {
|
if (empty($conf->syncsupplierwebservices->enabled)) {
|
||||||
|
setEventMessage($langs->trans("WarningModuleNotActive",$langs->transnoentities("Module2650Name")));
|
||||||
|
} else if ($mode != "init" && (empty($ws_host) || empty($ws_key) || empty($ws_user) || empty($ws_password) || empty($ws_thirdparty))) {
|
||||||
setEventMessage($langs->trans("ErrorFieldsRequired"), 'errors');
|
setEventMessage($langs->trans("ErrorFieldsRequired"), 'errors');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2054,6 +2057,7 @@ elseif (! empty($object->id))
|
|||||||
if (empty($ws_thirdparty))
|
if (empty($ws_thirdparty))
|
||||||
{
|
{
|
||||||
setEventMessage($langs->trans("RemoteUserMissingAssociatedSoc"), 'errors');
|
setEventMessage($langs->trans("RemoteUserMissingAssociatedSoc"), 'errors');
|
||||||
|
$error_occurred = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2129,10 +2133,12 @@ elseif (! empty($object->id))
|
|||||||
elseif ($user_status_code == "PERMISSION_DENIED")
|
elseif ($user_status_code == "PERMISSION_DENIED")
|
||||||
{
|
{
|
||||||
setEventMessage($langs->trans("RemoteUserNotPermission"), 'errors');
|
setEventMessage($langs->trans("RemoteUserNotPermission"), 'errors');
|
||||||
|
$error_occurred = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setEventMessage($langs->trans("ResponseNonOK")." '".$user_status_code."'", 'errors');
|
setEventMessage($langs->trans("ResponseNonOK")." '".$user_status_code."'", 'errors');
|
||||||
|
$error_occurred = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Form
|
//Form
|
||||||
@ -2242,8 +2248,9 @@ elseif (! empty($object->id))
|
|||||||
//}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create a remote order using WebService
|
|
||||||
if ($object->statut >= 2) // 2 means accepted
|
// Create a remote order using WebService only if module is activated
|
||||||
|
if (! empty($conf->syncsupplierwebservices->enabled) && $object->statut >= 2) // 2 means accepted
|
||||||
{
|
{
|
||||||
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=webservice&mode=init">'.$langs->trans('CreateRemoteOrder').'</a>';
|
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=webservice&mode=init">'.$langs->trans('CreateRemoteOrder').'</a>';
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user