if ($cpr != 0){
$api->writelog("cmd failed:".$cmd."!");
}
- $agfiche = $db->exec($upselsql);
$cmd = 'rsync -av '.$cfg->{datapath}.'/art_bro_pdf/ '.$cfg->{mediapath}.'brochure/';
$cpr = system($cmd);
if ($cpr != 0){
$api->writelog("cmd failed:".$cmd."!");
}
}
-
+
+ $api->writelog("update article_groups brochure...");
+ $upselsql = "update wiges_ole_article as woa, article_groups as ag
+ set ag.brochure = case when woa.nom_fichier is null then null else replace(replace(woa.nom_fichier,'art_brochure','brochure'),'art_bro_pdf','brochure') end
+ where woa.article = ag.article and woa.code_document in ('art_brochure','art_bro_pdf') ; ";
+ if ($cfg->{dryrun} == 1){
+ print $upselsql."\n";
+ } else {
+ my $agfiche = $db->exec($upselsql);
+ my $cmd = 'rsync -av '.$cfg->{datapath}.'/art_brochure/ '.$cfg->{mediapath}.'brochure/';
+ my $cpr = system($cmd);
+ if ($cpr != 0){
+ $api->writelog("cmd failed:".$cmd."!");
+ }
+ $cmd = 'rsync -av '.$cfg->{datapath}.'/art_bro_pdf/ '.$cfg->{mediapath}.'brochure/';
+ $cpr = system($cmd);
+ if ($cpr != 0){
+ $api->writelog("cmd failed:".$cmd."!");
+ }
+ }
+
+ $api->writelog("update article_groups video...");
+ $upselsql = "update wiges_ole_article as woa, article_groups as ag
+ set ag.videolink = case when woa.commentaire is null then null else woa.commentaire end
+ where woa.article = ag.article and woa.code_document in ('art_video');";
+ if ($cfg->{dryrun} == 1){
+ print $upselsql."\n";
+ } else {
+ my $agfiche = $db->exec($upselsql);
+ }
+
+
$api->writelog("End Copy article_groups...");
+
}
if ($steps =~ /articles,/){
$api->writelog("copy articles...");
if ($cpr != 0){
$api->writelog("cmd failed:".$cmd."!");
}
+ $api->writelog("update article_groups video...");
+ my $upselsql = "update wiges_ole_article as woa, articles as ag
+ set ag.videolink = case when woa.commentaire is null then null else woa.commentaire end
+ where woa.article = ag.article and woa.code_document in ('art_video');";
+ if ($cfg->{dryrun} == 1){
+ print $upselsql."\n";
+ } else {
+ my $agvid = $db->exec($upselsql);
+ }
#}
# foreach my $r (@{$agfiche}){
# if (-e $cfg->{datapath}.'/'.$r->{nom_fichier}){
"cancel" => "Abondonner",\r
"save" => "Sauvegarder",\r
"ok" => "OK",\r
+ "close" => "Fermer",\r
"groupname" => "Groupe",\r
"filter" => "filtrer...",\r
"clientaccess" => "Accès Shop",\r
"msgccc" => "Contrat Cadre qui a été négociée individuellement pour votre entreprise",\r
"lblccc" => "VOIR LES PRODUITS",\r
"msgorders" => "Les commandes que vous avez envoyés via le shop en ligne<br/><br/>",\r
- "lblorders" => "VOIR MES COMMANDES"\r
+ "lblorders" => "VOIR MES COMMANDES",\r
+ "video" => "Video",\r
);\r
?>
\ No newline at end of file
[id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
[usertype] => admin
)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = 'a1b496fa520a1c52edd076ca7a59e56667e7ebeb5ba5ba966d2d01628e165359' and userpassword is not null and userpassword != '' and isenabled='1'; - USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
+USER: select id,usertype from users where lower(useremail)=lower('ksaffran@dks.lu') and userpassword = '0ecf731e2426a8a469f06e9f4a3bcbed6f8071d9d3e3ef7ef5fd9165021e27ec' and userpassword is not null and userpassword != '' and isenabled='1'; - Array
+(
+ [id] => ef3b63ab-24a5-4972-86fb-8c3a4f36e75c
+ [usertype] => admin
+)
--- /dev/null
+<div id="dlgvideo" class="modal">
+
+ <div class="modal-content animate-top card-4">
+ <header>
+ <span onclick="document.getElementById('dlgvideo').style.display='none'; return false;"
+ class="button toolbarbtn display-topright" ><span class="icon icon-close" style="font-size: 18px;"></span></span>
+ <h2 id="dlgvideo_title">{{lbl.video}}</h2>
+ </header>
+ <div class="container">
+ <iframe style="width: 100%;height: 480px !important;" id="dlgvideo_src" src="" frameborder="0" allowfullscreen></iframe>
+ </div>
+ <footer>
+ <button class="button actionbtn margin-right border" onclick="document.getElementById('dlgvideo').style.display='none'; return false;">{{ lbl.close }}</button>
+ </footer>
+ </div>
+</div>
\ No newline at end of file
<link rel="stylesheet" href="{{ abspath }}vendor/slimselect/slimselect.css?v={{ version }}">\r
<link rel="stylesheet" href="{{ abspath }}vendor/flatpickr/flatpickr.min.css?v={{version}}">\r
<link rel="stylesheet" href="{{ abspath }}vendor/flatpickr/themes/airbnb.css?v={{version}}">\r
+<link rel="stylesheet" href="{{ abspath }}vendor/mediabox/mediabox.css?v={{version}}">\r
</head>\r
<body>\r
{# <div class="top"> #}\r
</div>\r
{{ include('dialogs/dlgconfirm.html') }}\r
{{ include('dialogs/dlgmessage.html') }}\r
+ {{ include('dialogs/dlgvideo.html') }}\r
<script type="text/javascript" src="{{ abspath }}vendor/tabulator/js/tabulator.min.js?v={{ version }}"></script>\r
<script type="text/javascript" src="{{ abspath }}vendor/moment/moment-with-locales.min.js?v={{ version }}"></script>\r
<script type="text/javascript" src="{{ abspath }}vendor/slimselect/slimselect.min.js?v={{ version }}"></script>\r
<script type="text/javascript" src="{{ abspath }}vendor/flatpickr/flatpickr.min.js?v={{version}}"></script> \r
<script type="text/javascript" src="{{ abspath }}vendor/flatpickr/l10n/de.js?v={{version}}" ></script> \r
<script type="text/javascript" src="{{ abspath }}vendor/flatpickr/l10n/fr.js?v={{version}}" ></script> \r
+ <script type="text/javascript" src="{{ abspath }}vendor/mediabox/mediabox.js?v={{version}}" ></script> \r
<script type="text/javascript" src="{{ abspath }}js/request.js?v={{ version }}"></script>\r
<script type="text/javascript" src="{{ abspath }}js/myapp.js?v={{ version }}"></script>\r
<script type="text/javascript" src="{{ abspath }}js/dataform.js?v={{ version }}"></script>\r
document.getElementById('dlgmessage').style.display='block';\r
return false;\r
},\r
+ dlgvideo: function(url){\r
+ let service = {};\r
+ if (matches = url.match(/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=)([^#\&\?]*).*/)) {\r
+ service.provider = "youtube";\r
+ service.id = matches[2];\r
+ } else if (matches = url.match(/https?:\/\/(?:www\.)?vimeo.com\/(?:channels\/|groups\/([^\/]*)\/videos\/|album\/(\d+)\/video\/|)(\d+)(?:$|\/|\?)/)) {\r
+ service.provider = "vimeo";\r
+ service.id = matches[3];\r
+ }\r
+ let embedLink="";\r
+ if (service.provider === 'youtube') {\r
+ embedLink = 'https://www.youtube.com/embed/' + service.id;\r
+ } else if (service.provider === 'vimeo') {\r
+ embedLink = 'https://player.vimeo.com/video/' + service.id;\r
+ } \r
+ document.getElementById('dlgvideo_src').src= embedLink;\r
+ document.getElementById('dlgvideo').style.display='block';\r
+ return false;\r
+ },\r
setpref: function(key,value){\r
db.execAsync("REPLACE INTO defaultdata (id,pref) VALUES ('"+key+"','"+value+"');").then(res => {\r
//myapp.loadpreferences();\r
select: "#askprice_type",\r
showSearch: false\r
});\r
+ shop.selects["ccaddress"] = new SlimSelect({\r
+ select: "#ccaddress",\r
+ showSearch: false,\r
+ afterClose: function(){\r
+ shop.setAddress();\r
+ }\r
+ });\r
shop.tblgroups = new Tabulator("#tbl_groups", {\r
height: "calc(100vh - 158px)",\r
layout: "fitDataStretch",\r
setArticleGroup: function(gdx,grpdata,articledata,type){\r
//console.log("artdata",articledata);\r
let grparticle = grpdata['article'];\r
- //console.log("Group Article",grparticle);\r
+ \r
let strartgrp = '<div class="container margin padding border">'+\r
'<div class="cell-row">'+\r
'<div class="quarter" style="padding-right: 20px; padding-bottom: 10px;" ><img src="'+ ((grpdata.image != null)?'img/'+grpdata.image + '?v=' + grpdata.imgversion:'img/qubenoimg.jpg')+ '" style="max-width: 175px;" alt="image"/></div>'+\r
((grpdata.brochure != null)?'<button class="bar-item button text-white" style="text-align: right!important;" onclick="shop.openpdf(\''+grpdata.brochure+ '\');">{{ lbl.doc_brpr }} <span class="icon icon-pdf"></span></button>':'')+\r
((grpdata.fichetechnique != null)?'<button class="bar-item button text-white" style="text-align: right!important;" onclick="shop.openpdf(\''+grpdata.fichetechnique+ '\');">{{ lbl.doc_fite }} <span class="icon icon-pdf"></span></button>':'')+\r
((grpdata.noticemontage != null)?'<button class="bar-item button text-white" style="text-align: right!important;" onclick="shop.openpdf(\''+grpdata.noticemontage+ '\');">{{ lbl.doc_nomo }} <span class="icon icon-pdf"></span></button>':'')+\r
+ ((grpdata.videolink != null)?'<button class="bar-item button text-white" style="text-align: right!important;" onclick="myapp.dlgvideo(\''+grpdata.videolink+ '\');">{{ lbl.video }} <span class="icon icon-video"></span></button>':'')+\r
'</div>'+ '</div>'+ '</div>';\r
- //onsole.log("grp",grparticle);\r
+ //console.log("grp",grparticle);\r
//console.log("adata",articledata);\r
//console.log("articledata",articledata[grparticle]);\r
let stf= shop.getCounterfield([grpdata.c01_label,grpdata.c02_label,grpdata.c03_label,grpdata.c04_label,grpdata.c05_label],((articledata[grparticle])?articledata[grparticle][0].unite_quantite:null));\r
strartgrp += '<td style="text-align: right;"> </td>';\r
// strartgrp += '<td style="text-align: right;">'+ ((articledata[grparticle][adx].prix_net && articledata[grparticle][adx].prix_net != '0.0000')?articledata[grparticle][adx].prix_net.replace(/\./,',')+ ' €':' ')+'</td>';\r
}\r
- strartgrp += '<td><div class="bar">'+((articledata[grparticle][adx].doc_ft != null)?'<button class="bar-item button bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_ft+ '\');"><span class="icon icon-pdf"> FT</span></button>':'')\r
- +((articledata[grparticle][adx].doc_mo != null)?'<button class=" bar-item button bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_mo+ '\');"><span class="icon icon-pdf"> MO</span></button>':'')\r
- +((articledata[grparticle][adx].doc_fs != null)?'<button class="bar-itembutton bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_fs+ '\');"><span class="icon icon-pdf"> FS</span></button>':'')+'</div></td>'+\r
+ strartgrp += '<td><div class="bar">'+((articledata[grparticle][adx].doc_ft != null)?'<button class="bar-item button bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_ft+ '\');"><span class="icon icon-pdf"> FT</span></button>':'')+\r
+ ((articledata[grparticle][adx].doc_mo != null)?'<button class=" bar-item button bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_mo+ '\');"><span class="icon icon-pdf"> MO</span></button>':'')+\r
+ ((articledata[grparticle][adx].doc_fs != null)?'<button class="bar-item button bodybtn border" onclick="shop.openpdf(\''+articledata[grparticle][adx].doc_fs+ '\');"><span class="icon icon-pdf"> FS</span></button>':'')+\r
+ ((articledata[grparticle][adx].videolink != null)?'<button class="bar-item button bodybtn border" onclick="myapp.dlgvideo(\''+articledata[grparticle][adx].videolink+ '\');"><span class="icon icon-pdf"> FS</span></button>':'')+\r
+ '</div></td>'+\r
'</tr>';\r
}\r
} else {\r
myapp.viewpanel("shop");\r
});\r
}).catch(e => { console.log(e)});\r
- \r
}\r
},\r
articlequantityplus: function(artid,step){\r
cval = cval +step;\r
document.getElementById('art_' + artid).value = cval;\r
}\r
- \r
return false;\r
},\r
articlequantityminus: function(artid,step){\r
\r
return false;\r
},\r
+ setAddress: function(){\r
+\r
+ },\r
+ loadBasket: function(){\r
+ let pdata;\r
+\r
+ //{% if (session.usertype == 'admin') %}\r
+\r
+ pdata = {"cl":"ContratCadre","fn":"getClients"};\r
+\r
+ //{% else %}\r
+\r
+ pdata = {"cl":"ContratCadre","fn":"getContractsByUser","iduser":"{{session.id_user}}"};\r
+\r
+ //{% endif %}\r
+\r
+ postData(pdata).then(data => {\r
+ console.log("CC list",data.data);\r
+ contratcadre.ccnum = data.data.length;\r
+ \r
+ dataform.fillselectlist(contratcadre.selects["ccaddress"],data.data,'client','name_display');\r
+ //if (data.data.length == 1 ){\r
+ //contratcadre.idclient = data.data[0].client;\r
+ //contratcadre.loadContratCadre(true);\r
+ //}\r
+ });\r
+ },\r
setBasket: function(){\r
let bs = document.getElementById("tblbody_basket");\r
bs.innerHTML ='';\r
<div id="lst_basket" style="height: calc(100vh - 218px); overflow-y: auto;">\r
<form id="frm_basket">\r
<div class="row">\r
- <div class="container quarter">\r
- <label class="label" for="basket_invoiceaddress">{{ lbl.invoiceaddress }}</label>\r
- <textarea class="input border data_basket readonly" rows="5" data-id="" data-column="invoiceaddress" data-table="basket" id="basket_invoiceaddress" readonly></textarea>\r
+ <div class="quarter">\r
+ <div class="container" >\r
+ <label class="label" for="ccaddress">Selection Adresse</label>\r
+ <select class="select border data_admin" id="ccaddress"></select>\r
+ </div>\r
+ <div class="container">\r
+ <label class="label" for="basket_invoiceaddress">{{ lbl.invoiceaddress }}</label>\r
+ <textarea class="input border data_basket readonly" rows="5" data-id="" data-column="invoiceaddress" data-table="basket" id="basket_invoiceaddress" readonly></textarea>\r
+ </div>\r
</div>\r
+ \r
<div class="container quarter">\r
<label class="label" for="basket_deliveryaddress">{{ lbl.deliveryaddress }}</label>\r
<textarea class="input border data_basket" rows="5" data-id="" data-column="deliveryaddress" data-table="basket" id="basket_deliveryaddress" ></textarea>\r