diff --git a/admin/survey/modules/mod_KOLEKTOR/class.Kolektor.php b/admin/survey/modules/mod_KOLEKTOR/class.Kolektor.php
index d0bdc8250..4eefb3d90 100644
--- a/admin/survey/modules/mod_KOLEKTOR/class.Kolektor.php
+++ b/admin/survey/modules/mod_KOLEKTOR/class.Kolektor.php
@@ -100,7 +100,8 @@ class Kolektor {
public function displayResponses(){
-
+ global $site_url;
+
echo '
';
echo ' ';
@@ -110,7 +111,8 @@ class Kolektor {
echo ' Funkcija respondenta | ';
echo ' Čas proženja | ';
echo ' Status | ';
- echo ' | ';
+ echo ' Odgovori | ';
+ echo ' Opomnik | ';
echo '
';
// Loop cez vse stranke
@@ -125,6 +127,7 @@ class Kolektor {
echo ' '.$response['respondent_funkcija'].' | ';
echo ' '.date('j.n.Y H:i:s', strtotime($response['insert_time'])).' | ';
echo ' '.$this->statuses[$response['status']].' | ';
+ echo ' Preglej odgovore | ';
echo ' Pošlji opomnik | '; // TODO
echo ' ';
}
@@ -161,14 +164,14 @@ class Kolektor {
// Seznam 6 kolektor anket
echo '';
- echo '
Anketa:';
+ echo '
Anketa:
';
$surveys = $this->getSurveys();
$sequence = 0;
foreach($surveys as $kolektor_survey){
- echo '
';
+ echo '';
echo ' ';
echo ' ';
- echo '';
+ echo '
';
if($data['ank_id'] == $kolektor_survey['ank_id'])
$sequence = $kolektor_survey['survey_sequence'];
@@ -180,45 +183,54 @@ class Kolektor {
// ID projekta
echo '';
- echo '
ID projekta:';
+ echo '
ID projekta:
';
echo '
';
echo '
';
// Email
echo '';
- echo '
Email respondenta:';
+ echo '
Email respondenta:
';
echo '
';
echo '
';
// Funkcija respondenta
+ $standard_functions = array('Vodja nabave', 'Vodja projekta', 'Skrbnik pogodbe', 'Nadzornik objekta', 'Član inženirskega tima');
+ $other_function = (isset($data['respondent_funkcija']) && $data['respondent_funkcija'] != '' && !in_array($data['respondent_funkcija'], $standard_functions)) ? true : false;
+
echo '';
-
- // Aktivacija na daljavo - samo za anketi 5 in 6 - TODO
- echo '';
- echo '
Aktivacija na daljavo:';
- echo '
';
- echo '
';
+
+ // Aktivacija na daljavo - samo za anketi 5 in 6
+ echo '
';
+ echo '
Aktivacija na daljavo:
';
+ echo '
';
+ echo '
';
echo '
';
// Sporocilo respondentu
+ $text = 'Pozdravljeni,
Prosimo vas, če lahko izpolnite anketo.
Povezava do ankete: #URL#
Lep pozdrav,
Kolektor ETRA';
+
echo '
';
- echo '
Spremno besedilo:';
- echo '
';
+ echo '
Spremno besedilo:
';
+ echo '
';
+ echo '
';
+
+
echo '
';
@@ -228,8 +240,6 @@ class Kolektor {
echo ' ';
echo ' ';
- echo '';
-
echo '';
}
diff --git a/admin/survey/modules/mod_KOLEKTOR/class.KolektorNotifications.php b/admin/survey/modules/mod_KOLEKTOR/class.KolektorNotifications.php
index 5eb3cd5e2..4116f9e19 100644
--- a/admin/survey/modules/mod_KOLEKTOR/class.KolektorNotifications.php
+++ b/admin/survey/modules/mod_KOLEKTOR/class.KolektorNotifications.php
@@ -50,10 +50,17 @@ class KolektorNotifications {
}
catch (Exception $e){
}
+
+ // Shranimo, da smo poslali notification in spremenili status
+ $sql_alert = sisplet_query("INSERT INTO kolektor_survey_response_alert
+ (respondent_id, alert_time, new_status)
+ VALUES
+ ('".$response['usr_id']."', NOW(), '".$this->response['status']."')
+ ");
}
// Posljemo mail respondentu z vabilom na anketo
- public function sendRespondentNotification(){
+ public function sendRespondentNotification($respondent_message=''){
$subject = 'Kolektor ETRA - vabilo na anketo';
@@ -61,8 +68,11 @@ class KolektorNotifications {
$kr = new KolektorResponse($this->response['respondent_id']);
$url = $kr->getResponseURL();
- $body = $this->response['respondent_message'];
- $body .= '
'.$url;
+ $body = ($respondent_message != '') ? $respondent_message : $this->response['respondent_message'];
+
+ // Zamenjamo line breake in #URL#
+ $body = nl2br(stripslashes($body));
+ $body = str_replace('#URL#', 'Kolektor anketa', $body);
// Posljemo mail
@@ -83,20 +93,32 @@ class KolektorNotifications {
// Loop cez vse response in posljemo notificatione glede na statuse
public static function executeCronJob(){
+ // Loop po responsih s statusom 1, 2 ali 3 (prozeno, opozorilo 1, opozorilo 3)
+ $sql = sisplet_query("SELECT ksr.*, ksra.alert_time, ksra.new_status
+ FROM kolektor_survey_response ksr, kolektor_survey_response_alert ksra
+ WHERE ksr.respondent_id=ksra.respondent_id
+ AND ((ksr.status='1' AND ksr.insert_time <= NOW() - INTERVAL 7 DAY)
+ OR (ksr.status='2' AND ksr.insert_time <= NOW() - INTERVAL 21 DAY)
+ OR (ksr.status='3' AND ksr.insert_time <= NOW() - INTERVAL 42 DAY))
+ ");
- // Status 1 - "prozeno" - preklopimo na status 2 "opozorilo 1"
- if($this->response['status'] == 0){
+ while($row = mysqli_fetch_array($sql)){
- }
- // Status 2 - "opozorilo 1" - preklopimo na status 3 "opozorilo 3"
- elseif($this->response['status'] == 1){
-
- }
- // Status 3 "opozorilo 3" - preklopimo na status 4 "neodgovorjeno"
- elseif($this->response['status'] == 2){
-
- }
+ $kr = new KolektorResponse($row['respondent_id']);
+ // Status 1 - "prozeno" - preklopimo na status 2 "opozorilo 1"
+ if($this->response['status'] == '1'){
+ $kr->setStatus($status='2');
+ }
+ // Status 2 - "opozorilo 1" - preklopimo na status 3 "opozorilo 3"
+ elseif($this->response['status'] == '2'){
+ $kr->setStatus($status='3');
+ }
+ // Status 3 "opozorilo 3" - preklopimo na status 4 "neodgovorjeno"
+ elseif($this->response['status'] == '3'){
+ $kr->setStatus($status='4');
+ }
+ }
}
}
diff --git a/admin/survey/modules/mod_KOLEKTOR/class.KolektorResponse.php b/admin/survey/modules/mod_KOLEKTOR/class.KolektorResponse.php
index 2fca0a92a..afaf57e3e 100644
--- a/admin/survey/modules/mod_KOLEKTOR/class.KolektorResponse.php
+++ b/admin/survey/modules/mod_KOLEKTOR/class.KolektorResponse.php
@@ -54,7 +54,8 @@ class KolektorResponse {
$url .= '&kolemail='.$this->response['respondent_email'];
$url .= '&kolprojekt='.$this->response['respondent_projekt_id'];
$url .= '&kolfunkc='.$this->response['respondent_funkcija'];
- $url .= '&kolactivat='.$this->response['respondent_remote_activation'];
+ if($this->response['respondent_remote_activation'] != '')
+ $url .= '&kolactivat='.$this->response['respondent_remote_activation'];
return $url;
}
@@ -115,7 +116,7 @@ class KolektorResponse {
('".$response_data['ank_id']."',
'".$global_user_id."',
NOW(),
- '0',
+ '1',
'".$respondent_id."',
'".$response_data['respondent_email']."',
'".$response_data['respondent_funkcija']."',
diff --git a/admin/survey/modules/mod_KOLEKTOR/script/script.js b/admin/survey/modules/mod_KOLEKTOR/script/script.js
index 7a72a08c3..491d23f36 100644
--- a/admin/survey/modules/mod_KOLEKTOR/script/script.js
+++ b/admin/survey/modules/mod_KOLEKTOR/script/script.js
@@ -24,6 +24,7 @@ function kolektorCreateResponse(){
}
+// Oznacevanje ankete pri kreiranju responsa
function kolektorSelectSurvey(){
var survey_sequence = $('input[name="kolektor_survey"]:checked').attr("sequence");
@@ -35,13 +36,34 @@ function kolektorSelectSurvey(){
$('#kolektor_respondent_settings').slideDown();
if(survey_sequence == 5 || survey_sequence == 6){
+ $('input[name="respondent_remote_activation"]').prop("disabled", false);
$('#kolektor_setting_activation').slideDown();
}
else{
+ $('input[name="respondent_remote_activation"]').prop("disabled", true);
$('#kolektor_setting_activation').slideUp();
}
}
else{
$('#kolektor_respondent_settings').slideUp();
}
-}
\ No newline at end of file
+}
+
+// Preklop na drugo funkcijo v podjetju pri kreiranju responsa
+function kolektorOtherFunction(){
+
+ // Vnos druge funkcije
+ if($('input#respondent_funkcija_other').is(':checked')){
+ $('#respondent_funkcija_dropdown').prop("disabled", true);
+ $('#respondent_funkcija_text').prop("disabled", false).show();
+ $('#respondent_funkcija_text').focus();
+ }
+ // Vnos funkcije iz dropdowna
+ else{
+ $('#respondent_funkcija_dropdown').prop("disabled", false);
+ $('#respondent_funkcija_text').prop("disabled", true).hide();
+ $('#respondent_funkcija_dropdown').focus();
+ }
+}
+
+
diff --git a/public/css/admin_new.css b/public/css/admin_new.css
index 6fa7d019a..2464b58a6 100644
--- a/public/css/admin_new.css
+++ b/public/css/admin_new.css
@@ -32980,6 +32980,9 @@ table.dataTable td:not(:first-of-type), table.dataTable th:not(:first-of-type) {
display: flex;
flex-direction: column;
}
+#kolektor_add_response #kolektor_add_response_form textarea {
+ width: 100%;
+}
@media (max-width: 1100px) {
#quick_comments_link.newCss {
diff --git a/resources/sass/admin_new/modules/kolektor.scss b/resources/sass/admin_new/modules/kolektor.scss
index ede203d94..8048fef93 100644
--- a/resources/sass/admin_new/modules/kolektor.scss
+++ b/resources/sass/admin_new/modules/kolektor.scss
@@ -57,6 +57,10 @@
display: flex;
flex-direction: column;
}
+
+ textarea{
+ width: 100%;
+ }
}
}
\ No newline at end of file