Finish Smetar_CampagneMarketing_EliminaAttivita
This commit is contained in:
@@ -50,7 +50,7 @@ class CampagneMarketing {
|
||||
$ret = self::getListCommesse(array("q" => $q));
|
||||
if ($ret->is_OK()) {
|
||||
$arr_commesse = $ret->get_data();
|
||||
$arr_commesse = array_unique_multi(array_values(from($arr_commesse)->select(function ($x) {
|
||||
$arr_commesse = array_unique_multi2(array_values(from($arr_commesse)->select(function ($x) {
|
||||
return array("cod_anag" => $x["cod_jcom"] . " - " . $x["descrizione"], "cod_jcom" => $x["cod_jcom"], "descrizione" => $x["descrizione"]);
|
||||
})->toArray()));
|
||||
|
||||
@@ -234,22 +234,65 @@ class CampagneMarketing {
|
||||
|
||||
public static function deleteAttivita($data) {
|
||||
$activityId = $data["activityId"];
|
||||
$flagDeleteProspect = array_get($data, "flagDeleteProspect");
|
||||
$ret = self::getAttivita($activityId);
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$retData = $ret->get_data();
|
||||
|
||||
$entityList = new EntityList();
|
||||
|
||||
$attivita = new EntityItem("stb_activity");
|
||||
$attivita
|
||||
->delete()
|
||||
->set("activityId", $activityId);
|
||||
|
||||
$entityList->push($attivita);
|
||||
|
||||
if ($flagDeleteProspect) {
|
||||
$codPpro = $retData["cod_anag_clie"];
|
||||
|
||||
$ptbPros = new EntityItem("ptb_pros");
|
||||
$ptbPros
|
||||
->delete()
|
||||
->set("codPpro", $codPpro);
|
||||
|
||||
$entityList->push($ptbPros);
|
||||
}
|
||||
|
||||
$query = new Query();
|
||||
|
||||
$query->importSqlFile('getSottoAttivita')
|
||||
->setVar('parentActivityId', $activityId);
|
||||
|
||||
$ret = $query->toRet()->execute();
|
||||
|
||||
$childrenActivities = $ret->get_data();
|
||||
|
||||
foreach ($childrenActivities as $childActivity) {
|
||||
$attivita = new EntityItem("stb_activity");
|
||||
$attivita
|
||||
->delete()
|
||||
->set("activityId", $childActivity["activity_id"]);
|
||||
|
||||
$entityList->push($attivita);
|
||||
}
|
||||
|
||||
$ret = $entityList->send();
|
||||
|
||||
$codJcom = $retData["cod_jcom"];
|
||||
$processActivityId = $retData["parent_activity_id"];
|
||||
$Attivita = new CampagneMarketing\Attivita;
|
||||
$Attivita->activityId($activityId);
|
||||
$ret = $Attivita->to_entityItem()->type("stb_activity")->delete()->send();
|
||||
|
||||
if ($ret->is_OK() && !self::isCommessaInterna($codJcom)) {
|
||||
$ret = CampagneMarketing::getAttivitaProcesso(array("processActivityId" => $processActivityId));
|
||||
|
||||
if ($ret->is_OK()) {
|
||||
$ret->set_string(base64_encode(CampagneMarketing::get_tbodyAttivita($ret->get_data())));
|
||||
}
|
||||
}
|
||||
}
|
||||
return $ret->set_data(null);
|
||||
|
||||
return $ret->set_data();
|
||||
}
|
||||
|
||||
public static function get_persRifClie($tipoAnag, $codAnag) {
|
||||
@@ -658,14 +701,15 @@ class CampagneMarketing {
|
||||
$page = $data["page"];
|
||||
|
||||
$isNuovaAttivita = is_null($data["activity_id"]);
|
||||
$codJcom = if_null($data["cod_jcom"], self::getCodJcomInterno());
|
||||
$codJcom = if_null(array_get($data, "cod_jcom"), self::getCodJcomInterno());
|
||||
$isCommessaInterna = self::isCommessaInterna($codJcom);
|
||||
|
||||
$arr_userName = array();
|
||||
|
||||
if ($isNuovaAttivita) { // NUOVA
|
||||
if (is_string($data["user_name"])) {
|
||||
$arr_userName[] = $data["user_name"];
|
||||
} else if (is_array($data["user_name"])) {
|
||||
if (is_string(array_get($data, "user_name"))) {
|
||||
$arr_userName[] = array_get($data, "user_name");
|
||||
} else if (is_array(array_get($data, "user_name"))) {
|
||||
$arr_userName = $data["user_name"];
|
||||
} else {
|
||||
$ret = new Ret;
|
||||
|
||||
@@ -82,7 +82,7 @@ if ($ret->is_OK()) {
|
||||
<th>Città</th>
|
||||
<th>Telefono</th>
|
||||
<th>Email</th>
|
||||
<!-- <th class="hidden-xs">Pulsanti</th>-->
|
||||
<th>Pulsanti</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -90,16 +90,29 @@ if ($ret->is_OK()) {
|
||||
$arr_commesse = array_orderby($arr_commesse, "effective_time", SORT_DESC);
|
||||
foreach ($arr_commesse as $item) {
|
||||
?>
|
||||
<tr data-activity_id="<?= $item["activity_id"] ?>">
|
||||
<tr
|
||||
data-activity_id="<?= $item["activity_id"] ?>"
|
||||
data-flag_last_activity="<?= $item["flag_last_activity"] ?>"
|
||||
data-tipologia="<?= $item["tipologia"] ?>"
|
||||
>
|
||||
<td class="text-center"><?= \Utility\Date::format($item["effective_time"], \Format::strftimeDMY) ?></td>
|
||||
<td class="text-center text-uppercase"><?= $item["cod_jcom"] ?>
|
||||
- <?= $item["descrizione"] ?></td>
|
||||
<td class="text-center text-uppercase">
|
||||
<?= $item["cod_jcom"] ?> - <?= $item["descrizione"] ?>
|
||||
</td>
|
||||
<td class="text-center"><?= $item["rag_soc"] ?></td>
|
||||
<td class="text-center"><?= $item["citta"] ?></td>
|
||||
<td class="text-center"><?= $item["telefono"] ?></td>
|
||||
<td class="text-center"><?= $item["e_mail"] ?></td>
|
||||
<td class="hidden-xs"><small
|
||||
class="text-muted font-italic"><?= Utility\Str::shortens_words($item["note"], 50, true) ?></small>
|
||||
<td class="text-center">
|
||||
<button type="button" class="btn icbtn btn-primary bt_apriAttivita">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
<button type="button" class="btn icbtn btn-danger bt_eliminaAttivita">
|
||||
<i class="fa fa-trash"></i>
|
||||
</button>
|
||||
</td>
|
||||
<td class="hidden-xs">
|
||||
<small class="text-muted font-italic"><?= Utility\Str::shortens_words($item["note"], 50, true) ?></small>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
@@ -505,22 +505,16 @@ PopupFormAttivita.prototype._isCreatedFromUser = function () {
|
||||
};
|
||||
|
||||
PopupFormAttivita.prototype._retrieveFormData = function () {
|
||||
var self = this;
|
||||
var $div = self._modalBox.$div;
|
||||
const self = this;
|
||||
const $div = self._modalBox.$div;
|
||||
const formData = _checkForm.retrieveData($div, false, false);
|
||||
|
||||
var formData = _checkForm.retrieveData($div, false, true);
|
||||
console.log(formData);
|
||||
if (formData !== false) {
|
||||
formData.activity_id = self._getActivityId();
|
||||
formData.cod_jcom = self._isNuovaAttivita() && !self._isNuovaAttivitaSuccessiva() ? formData.cod_jcom : self._getCodJcom();
|
||||
formData.parent_activity_id = self._isNuovaAttivita() && !self._isNuovaAttivitaSuccessiva() ? formData.process_activity_id : self._getParentActivityId();
|
||||
formData.page = self._page;
|
||||
/*
|
||||
if(!self._isNuovaAttivita()){
|
||||
delete data.activity_type_id;
|
||||
delete data.tipo_anag;
|
||||
delete data.cod_anag;
|
||||
}*/
|
||||
|
||||
formData.estimated_time = self._dia.get_estimatedTime();
|
||||
formData.estimated_endtime = null;
|
||||
|
||||
|
||||
@@ -87,12 +87,45 @@ var _campagneMarketing = {
|
||||
$("input[name='flag_informativa']").parent().btn_checkbox();
|
||||
$("input[name='flag_consenso']").parent().btn_checkbox();
|
||||
|
||||
$("#list-commesse tr[data-activity_id]").on("click", function (e) {
|
||||
if (!$(e.target).is_button()) {
|
||||
const activityId = $(this).getDataAttr("activity_id");
|
||||
$(".bt_apriAttivita").on("click", function (e) {
|
||||
const $tr = $(this).parents("tr");
|
||||
const activityId = $tr.getAttr("data-activity_id");
|
||||
|
||||
_APP.location.href("?view=" + activityId, false);
|
||||
_APP.location.href("?view=" + activityId, false);
|
||||
});
|
||||
|
||||
$(".bt_eliminaAttivita").on("click", function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
const $tr = $(this).parents("tr");
|
||||
const activityId = $tr.getAttr("data-activity_id");
|
||||
const flagLastActivity = $tr.getAttr("data-flag_last_activity");
|
||||
const tipologia = $tr.getAttr("data-tipologia");
|
||||
const flagIsProspect = tipologia === "P";
|
||||
const flagDeleteProspect = flagLastActivity && flagIsProspect;
|
||||
let message = "Confermare l'eliminazione dell'attività?";
|
||||
|
||||
if (flagDeleteProspect) {
|
||||
message = "Attenzione, questa è l'ultima attività del prospect, proseguendo verrà eliminato anche il prospect, continuare?";
|
||||
}
|
||||
|
||||
new Ajax()
|
||||
.post("deleteAttivita")
|
||||
.data({
|
||||
flagDeleteProspect: flagDeleteProspect,
|
||||
activityId: activityId,
|
||||
})
|
||||
.confirmModal({
|
||||
message: message,
|
||||
style: "warning"
|
||||
})
|
||||
.noticeAsModal()
|
||||
.onSuccess({
|
||||
toast: {message: "Commessa eliminata con successo", timeout: 1},
|
||||
callback: function () {
|
||||
$tr.remove();
|
||||
}
|
||||
}).execute();
|
||||
});
|
||||
|
||||
$("button[data-delete_commessa]").on("click", function (e) {
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
SELECT *
|
||||
FROM stb_activity
|
||||
WHERE parent_activity_id = '[parentActivityId]'
|
||||
@@ -17,11 +17,13 @@ FROM (SELECT stb_activity.cod_jcom,
|
||||
pcp.data_ins,
|
||||
pcp.cod_ppro,
|
||||
pcp.tipologia,
|
||||
jc.descrizione
|
||||
jc.descrizione,
|
||||
CASE
|
||||
WHEN (COUNT(stb_activity.activity_id) OVER (PARTITION BY cod_ppro) = 1) THEN 1
|
||||
ELSE 0 END AS flag_last_activity
|
||||
FROM stb_activity
|
||||
LEFT JOIN pvw_clienti_prospect pcp on stb_activity.cod_anag = pcp.cod_ppro_anag AND
|
||||
LEFT JOIN pvw_clienti_prospect pcp ON stb_activity.cod_anag = pcp.cod_ppro_anag AND
|
||||
stb_activity.tipo_anag = pcp.tipologia
|
||||
LEFT JOIN jtb_comt jc on stb_activity.cod_jcom = jc.cod_jcom
|
||||
WHERE activity_type_id = 'GESTIONE CONTATTO'
|
||||
) t
|
||||
WHERE 1 = 1
|
||||
LEFT JOIN jtb_comt jc ON stb_activity.cod_jcom = jc.cod_jcom
|
||||
WHERE parent_activity_id IS NULL) t
|
||||
WHERE activity_type_id = 'GESTIONE CONTATTO'
|
||||
Reference in New Issue
Block a user