Debug mass actions of partnership module
This commit is contained in:
parent
ed9806576a
commit
969fe16442
@ -1556,6 +1556,7 @@ if (!$error && ($massaction == 'disable' || ($action == 'disable' && $confirm ==
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Approve for leave only
|
||||||
if (!$error && ($massaction == 'approveleave' || ($action == 'approveleave' && $confirm == 'yes')) && $permissiontoapprove) {
|
if (!$error && ($massaction == 'approveleave' || ($action == 'approveleave' && $confirm == 'yes')) && $permissiontoapprove) {
|
||||||
$db->begin();
|
$db->begin();
|
||||||
|
|
||||||
|
|||||||
@ -58,6 +58,7 @@ ManagePartnership=Manage partnership
|
|||||||
BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website
|
BacklinkNotFoundOnPartnerWebsite=Backlink not found on partner website
|
||||||
ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership?
|
ConfirmClosePartnershipAsk=Are you sure you want to cancel this partnership?
|
||||||
PartnershipType=Partnership type
|
PartnershipType=Partnership type
|
||||||
|
PartnershipRefApproved=Partnership %s approved
|
||||||
|
|
||||||
#
|
#
|
||||||
# Template Mail
|
# Template Mail
|
||||||
|
|||||||
@ -67,7 +67,7 @@ class Partnership extends CommonObject
|
|||||||
|
|
||||||
const STATUS_DRAFT = 0;
|
const STATUS_DRAFT = 0;
|
||||||
const STATUS_VALIDATED = 1; // Validate (no more draft)
|
const STATUS_VALIDATED = 1; // Validate (no more draft)
|
||||||
const STATUS_ACCEPTED = 2; // Approved
|
const STATUS_APPROVED = 2; // Approved
|
||||||
const STATUS_REFUSED = 3; // Refused
|
const STATUS_REFUSED = 3; // Refused
|
||||||
const STATUS_CANCELED = 9;
|
const STATUS_CANCELED = 9;
|
||||||
|
|
||||||
@ -707,13 +707,13 @@ class Partnership extends CommonObject
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Accept object
|
* Approve object
|
||||||
*
|
*
|
||||||
* @param User $user User making status change
|
* @param User $user User making status change
|
||||||
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
* @param int $notrigger 1=Does not execute triggers, 0= execute triggers
|
||||||
* @return int <=0 if OK, 0=Nothing done, >0 if KO
|
* @return int <=0 if OK, 0=Nothing done, >0 if KO
|
||||||
*/
|
*/
|
||||||
public function accept($user, $notrigger = 0)
|
public function approve($user, $notrigger = 0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
|
|
||||||
@ -722,7 +722,7 @@ class Partnership extends CommonObject
|
|||||||
$error = 0;
|
$error = 0;
|
||||||
|
|
||||||
// Protection
|
// Protection
|
||||||
if ($this->status == self::STATUS_ACCEPTED) {
|
if ($this->status == self::STATUS_APPROVED) {
|
||||||
dol_syslog(get_class($this)."::accept action abandonned: already acceptd", LOG_WARNING);
|
dol_syslog(get_class($this)."::accept action abandonned: already acceptd", LOG_WARNING);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -751,7 +751,7 @@ class Partnership extends CommonObject
|
|||||||
// Accept
|
// Accept
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element;
|
$sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element;
|
||||||
$sql .= " SET ref = '".$this->db->escape($num)."',";
|
$sql .= " SET ref = '".$this->db->escape($num)."',";
|
||||||
$sql .= " status = ".self::STATUS_ACCEPTED;
|
$sql .= " status = ".self::STATUS_APPROVED;
|
||||||
// if (!empty($this->fields['date_validation'])) {
|
// if (!empty($this->fields['date_validation'])) {
|
||||||
// $sql .= ", date_validation = '".$this->db->idate($now)."'";
|
// $sql .= ", date_validation = '".$this->db->idate($now)."'";
|
||||||
// }
|
// }
|
||||||
@ -818,7 +818,7 @@ class Partnership extends CommonObject
|
|||||||
// Set new ref and current status
|
// Set new ref and current status
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
$this->ref = $num;
|
$this->ref = $num;
|
||||||
$this->status = self::STATUS_ACCEPTED;
|
$this->status = self::STATUS_APPROVED;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$error) {
|
if (!$error) {
|
||||||
@ -893,7 +893,7 @@ class Partnership extends CommonObject
|
|||||||
public function cancel($user, $notrigger = 0)
|
public function cancel($user, $notrigger = 0)
|
||||||
{
|
{
|
||||||
// Protection
|
// Protection
|
||||||
if ($this->status != self::STATUS_ACCEPTED) {
|
if ($this->status != self::STATUS_APPROVED) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -928,7 +928,7 @@ class Partnership extends CommonObject
|
|||||||
return -1;
|
return -1;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
return $this->setStatusCommon($user, self::STATUS_ACCEPTED, $notrigger, 'PARTNERSHIP_REOPEN');
|
return $this->setStatusCommon($user, self::STATUS_APPROVED, $notrigger, 'PARTNERSHIP_REOPEN');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1073,18 +1073,18 @@ class Partnership extends CommonObject
|
|||||||
//$langs->load("partnership");
|
//$langs->load("partnership");
|
||||||
$this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft');
|
$this->labelStatus[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft');
|
||||||
$this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
$this->labelStatus[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
||||||
$this->labelStatus[self::STATUS_ACCEPTED] = $langs->transnoentitiesnoconv('Accepted');
|
$this->labelStatus[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('Approved');
|
||||||
$this->labelStatus[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
$this->labelStatus[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
||||||
$this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
$this->labelStatus[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
||||||
$this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft');
|
$this->labelStatusShort[self::STATUS_DRAFT] = $langs->transnoentitiesnoconv('Draft');
|
||||||
$this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
$this->labelStatusShort[self::STATUS_VALIDATED] = $langs->transnoentitiesnoconv('Validated');
|
||||||
$this->labelStatusShort[self::STATUS_ACCEPTED] = $langs->transnoentitiesnoconv('Accepted');
|
$this->labelStatusShort[self::STATUS_APPROVED] = $langs->transnoentitiesnoconv('Approved');
|
||||||
$this->labelStatusShort[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
$this->labelStatusShort[self::STATUS_REFUSED] = $langs->transnoentitiesnoconv('Refused');
|
||||||
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
$this->labelStatusShort[self::STATUS_CANCELED] = $langs->transnoentitiesnoconv('Canceled');
|
||||||
}
|
}
|
||||||
|
|
||||||
$statusType = 'status'.$status;
|
$statusType = 'status'.$status;
|
||||||
if ($status == self::STATUS_ACCEPTED) {
|
if ($status == self::STATUS_APPROVED) {
|
||||||
$statusType = 'status4';
|
$statusType = 'status4';
|
||||||
}
|
}
|
||||||
if ($status == self::STATUS_REFUSED) {
|
if ($status == self::STATUS_REFUSED) {
|
||||||
|
|||||||
@ -101,7 +101,7 @@ class PartnershipUtils
|
|||||||
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."adherent_type as dty on (dty.rowid = d.fk_adherent_type)";
|
$sql .= " LEFT JOIN ".MAIN_DB_PREFIX."adherent_type as dty on (dty.rowid = d.fk_adherent_type)";
|
||||||
$sql .= " WHERE fk_member > 0";
|
$sql .= " WHERE fk_member > 0";
|
||||||
$sql .= " AND (d.datefin < '".$this->db->idate($datetotest)."' AND dty.subscription = 1)";
|
$sql .= " AND (d.datefin < '".$this->db->idate($datetotest)."' AND dty.subscription = 1)";
|
||||||
$sql .= " AND p.status = ".((int) $partnership::STATUS_ACCEPTED); // Only accepted not yet canceled
|
$sql .= " AND p.status = ".((int) $partnership::STATUS_APPROVED); // Only accepted not yet canceled
|
||||||
$sql .= $this->db->order('d.rowid', 'ASC');
|
$sql .= $this->db->order('d.rowid', 'ASC');
|
||||||
// Limit is managed into loop later
|
// Limit is managed into loop later
|
||||||
|
|
||||||
@ -262,7 +262,7 @@ class PartnershipUtils
|
|||||||
|
|
||||||
$sql .= " WHERE 1 = 1";
|
$sql .= " WHERE 1 = 1";
|
||||||
$sql .= " AND p.".$fk_partner." > 0";
|
$sql .= " AND p.".$fk_partner." > 0";
|
||||||
$sql .= " AND p.status = ".((int) $partnership::STATUS_ACCEPTED); // Only accepted not yet canceled
|
$sql .= " AND p.status = ".((int) $partnership::STATUS_APPROVED); // Only accepted not yet canceled
|
||||||
$sql .= " AND (p.last_check_backlink IS NULL OR p.last_check_backlink <= '".$this->db->idate($now - 7 * 24 * 3600)."')"; // Every week, check that website contains a link to dolibarr.
|
$sql .= " AND (p.last_check_backlink IS NULL OR p.last_check_backlink <= '".$this->db->idate($now - 7 * 24 * 3600)."')"; // Every week, check that website contains a link to dolibarr.
|
||||||
$sql .= $this->db->order('p.rowid', 'ASC');
|
$sql .= $this->db->order('p.rowid', 'ASC');
|
||||||
// Limit is managed into loop later
|
// Limit is managed into loop later
|
||||||
|
|||||||
@ -153,7 +153,7 @@ if (empty($reshook)) {
|
|||||||
setEventMessages($object->error, $object->errors, 'errors');
|
setEventMessages($object->error, $object->errors, 'errors');
|
||||||
}
|
}
|
||||||
} elseif ($action == 'confirm_accept' && $confirm == 'yes' && $permissiontoadd) {
|
} elseif ($action == 'confirm_accept' && $confirm == 'yes' && $permissiontoadd) {
|
||||||
$result = $object->accept($user);
|
$result = $object->approve($user);
|
||||||
if ($result >= 0) {
|
if ($result >= 0) {
|
||||||
// Define output language
|
// Define output language
|
||||||
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
|
||||||
@ -590,9 +590,9 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
|
|
||||||
// Cancel
|
// Cancel
|
||||||
if ($permissiontoadd) {
|
if ($permissiontoadd) {
|
||||||
if ($object->status == $object::STATUS_ACCEPTED) {
|
if ($object->status == $object::STATUS_APPROVED) {
|
||||||
print dolGetButtonAction($langs->trans('Cancel'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close&token='.newToken(), '', $permissiontoadd);
|
print dolGetButtonAction($langs->trans('Cancel'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=close&token='.newToken(), '', $permissiontoadd);
|
||||||
} elseif ($object->status > $object::STATUS_ACCEPTED) {
|
} elseif ($object->status > $object::STATUS_APPROVED) {
|
||||||
// print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen&token='.newToken().'">'.$langs->trans("Re-Open").'</a>'."\n";
|
// print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=reopen&token='.newToken().'">'.$langs->trans("Re-Open").'</a>'."\n";
|
||||||
print dolGetButtonAction($langs->trans('Re-Open'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_reopen&confirm=yes&token='.newToken(), '', $permissiontoadd);
|
print dolGetButtonAction($langs->trans('Re-Open'), '', 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=confirm_reopen&confirm=yes&token='.newToken(), '', $permissiontoadd);
|
||||||
}
|
}
|
||||||
@ -600,7 +600,7 @@ if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'crea
|
|||||||
|
|
||||||
// Refuse
|
// Refuse
|
||||||
if ($permissiontoadd) {
|
if ($permissiontoadd) {
|
||||||
if ($object->status != $object::STATUS_DRAFT && $object->status != $object::STATUS_ACCEPTED && $object->status != $object::STATUS_CANCELED && $object->status != $object::STATUS_REFUSED) {
|
if ($object->status != $object::STATUS_DRAFT && $object->status != $object::STATUS_APPROVED && $object->status != $object::STATUS_CANCELED && $object->status != $object::STATUS_REFUSED) {
|
||||||
print dolGetButtonAction($langs->trans('Refuse'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=refuse&token='.newToken(), '', $permissiontoadd);
|
print dolGetButtonAction($langs->trans('Refuse'), '', 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=refuse&token='.newToken(), '', $permissiontoadd);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,8 +29,6 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
|||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php';
|
||||||
|
|
||||||
// load partnership libraries
|
|
||||||
require_once DOL_DOCUMENT_ROOT.'/partnership/class/partnership.class.php';
|
require_once DOL_DOCUMENT_ROOT.'/partnership/class/partnership.class.php';
|
||||||
|
|
||||||
// for other modules
|
// for other modules
|
||||||
@ -158,6 +156,8 @@ if ($user->socid > 0) { // Protection if external user
|
|||||||
* Actions
|
* Actions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
if (GETPOST('cancel', 'alpha')) {
|
if (GETPOST('cancel', 'alpha')) {
|
||||||
$action = 'list';
|
$action = 'list';
|
||||||
$massaction = '';
|
$massaction = '';
|
||||||
@ -200,6 +200,43 @@ if (empty($reshook)) {
|
|||||||
$uploaddir = $conf->partnership->dir_output;
|
$uploaddir = $conf->partnership->dir_output;
|
||||||
include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/actions_massactions.inc.php';
|
||||||
|
|
||||||
|
// Validate and approve
|
||||||
|
if (!$error && $massaction == 'approve' && $permissiontoadd) {
|
||||||
|
$objecttmp = new Partnership($db);
|
||||||
|
|
||||||
|
$db->begin();
|
||||||
|
$error = 0;
|
||||||
|
$result = 0;
|
||||||
|
|
||||||
|
foreach ($toselect as $checked) {
|
||||||
|
if ($objecttmp->fetch($checked)) {
|
||||||
|
if ($objecttmp->status == $objecttmp::STATUS_DRAFT) {
|
||||||
|
//$objecttmp->date = dol_now();
|
||||||
|
$result = $objecttmp->validate($user);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($result >= 0 && $objecttmp->status == $objecttmp::STATUS_VALIDATED) {
|
||||||
|
$result = $objecttmp->approve($user);
|
||||||
|
if ($result > 0) {
|
||||||
|
setEventMessages($langs->trans("PartnershipRefApproved", $objecttmp->ref), null);
|
||||||
|
} else {
|
||||||
|
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$error) {
|
||||||
|
$db->commit();
|
||||||
|
} else {
|
||||||
|
$db->rollback();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Cancel partnership
|
// Cancel partnership
|
||||||
if ($massaction == 'cancel' && $permissiontoadd) {
|
if ($massaction == 'cancel' && $permissiontoadd) {
|
||||||
$db->begin();
|
$db->begin();
|
||||||
@ -208,9 +245,14 @@ if (empty($reshook)) {
|
|||||||
$nbok = 0;
|
$nbok = 0;
|
||||||
foreach ($toselect as $toselectid) {
|
foreach ($toselect as $toselectid) {
|
||||||
$result = $objecttmp->fetch($toselectid);
|
$result = $objecttmp->fetch($toselectid);
|
||||||
|
var_dump($objecttmp->status);
|
||||||
if ($result > 0) {
|
if ($result > 0) {
|
||||||
$result = $objecttmp->cancel($user, 3);
|
$result = $objecttmp->cancel($user, 0);
|
||||||
if ($result <= 0) {
|
var_dump($result);
|
||||||
|
if ($result == 0) {
|
||||||
|
setEventMessages($langs->trans('StatusOfRefMustBe', $objecttmp->ref, $objecttmp->LibStatut($objecttmp::STATUS_APPROVED)), null, 'warnings');
|
||||||
|
$error++;
|
||||||
|
} elseif ($result <= 0) {
|
||||||
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
|
setEventMessages($objecttmp->error, $objecttmp->errors, 'errors');
|
||||||
$error++;
|
$error++;
|
||||||
break;
|
break;
|
||||||
@ -432,7 +474,9 @@ $param .= $hookmanager->resPrint;
|
|||||||
|
|
||||||
// List of mass actions available
|
// List of mass actions available
|
||||||
$arrayofmassactions = array(
|
$arrayofmassactions = array(
|
||||||
'cancel'=>img_picto('', 'close_title', 'class="pictofixedwidth"').$langs->trans("Cancel"),
|
//'validate'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("Validate"),
|
||||||
|
'approve'=>img_picto('', 'check', 'class="pictofixedwidth"').$langs->trans("ValidateAndApprove"),
|
||||||
|
'cancel'=>img_picto('', 'close_title', 'class="pictofixedwidth"').$langs->trans("Cancel"),
|
||||||
//'generate_doc'=>img_picto('', 'pdf').$langs->trans("ReGeneratePDF"),
|
//'generate_doc'=>img_picto('', 'pdf').$langs->trans("ReGeneratePDF"),
|
||||||
//'builddoc'=>img_picto('', 'pdf').$langs->trans("PDFMerge"),
|
//'builddoc'=>img_picto('', 'pdf').$langs->trans("PDFMerge"),
|
||||||
'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendMail"),
|
'presend'=>img_picto('', 'email', 'class="pictofixedwidth"').$langs->trans("SendMail"),
|
||||||
@ -440,7 +484,7 @@ $arrayofmassactions = array(
|
|||||||
if ($permissiontodelete) {
|
if ($permissiontodelete) {
|
||||||
$arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete");
|
$arrayofmassactions['predelete'] = img_picto('', 'delete', 'class="pictofixedwidth"').$langs->trans("Delete");
|
||||||
}
|
}
|
||||||
if (GETPOST('nomassaction', 'int') || in_array($massaction, array('presend', 'predelete'))) {
|
if (GETPOST('nomassaction', 'int') || in_array($massaction, array('prevalidate', 'presend', 'predelete'))) {
|
||||||
$arrayofmassactions = array();
|
$arrayofmassactions = array();
|
||||||
}
|
}
|
||||||
$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
|
$massactionbutton = $form->selectMassAction('', $arrayofmassactions);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user