Kolektor - css, nastavljanje statusa, posiljanje obvestil
This commit is contained in:
parent
ebf2e070cf
commit
ef349c5549
@ -9,7 +9,9 @@
|
||||
- kdaj se poslje sporocilo? ob 8h zjutraj?
|
||||
- se lahko zacne sekvenca na npr. 2. anketi (oz. se preskoci anketo 2...?)
|
||||
|
||||
|
||||
- besedilo opomnika, ki se posilja v mailu?
|
||||
- status "koncano" - mora respondent prikilkati do konca ankete? Drugace ne moremo posiljati opomnika.
|
||||
- smtp??
|
||||
|
||||
*/
|
||||
|
||||
@ -17,6 +19,16 @@
|
||||
class Kolektor {
|
||||
|
||||
|
||||
// Statusi responsa
|
||||
private $statuses = array(
|
||||
1 => 'proženo',
|
||||
2 => 'opozorilo 1',
|
||||
3 => 'opozorilo 3',
|
||||
4 => 'neodgovorjeno',
|
||||
5 => 'končano'
|
||||
);
|
||||
|
||||
|
||||
function __construct(){
|
||||
global $site_url;
|
||||
global $lang;
|
||||
@ -79,7 +91,7 @@ class Kolektor {
|
||||
global $site_url;
|
||||
global $lang;
|
||||
|
||||
echo '<button class="medium blue" onClick="createKolektorResponsePopup();">Proži novo anketo</button>';
|
||||
echo '<button class="large blue kolektor_create_response" onClick="kolektorCreateResponsePopup();">Proži novo anketo</button>';
|
||||
|
||||
echo '<div id="kolektor_reponses_holder">';
|
||||
$this->displayResponses();
|
||||
@ -112,7 +124,7 @@ class Kolektor {
|
||||
echo ' <td>'.$response['respondent_email'].'</td>';
|
||||
echo ' <td>'.$response['respondent_funkcija'].'</td>';
|
||||
echo ' <td>'.date('j.n.Y H:i:s', strtotime($response['insert_time'])).'</td>';
|
||||
echo ' <td>'.$response['status'].'</td>';
|
||||
echo ' <td>'.$this->statuses[$response['status']].'</td>';
|
||||
echo ' <td>Pošlji opomnik</td>'; // TODO
|
||||
echo ' </tr>';
|
||||
}
|
||||
@ -123,7 +135,7 @@ class Kolektor {
|
||||
// Prikaze formo za dodajanje novega responsa
|
||||
public function displayAddResponse($data=array(), $error=array()){
|
||||
|
||||
echo '<div class="popup_close"><a href="#" onclick="createKolektorResponseClose();">✕</a></div>';
|
||||
echo '<div class="popup_close"><a href="#" onclick="kolektorCreateResponseClose();">✕</a></div>';
|
||||
|
||||
echo '<h2>Dodajanje novega respondenta</h2>';
|
||||
|
||||
@ -137,9 +149,11 @@ class Kolektor {
|
||||
|
||||
echo 'Prosimo izpolnite vsa obvezna polja:';
|
||||
|
||||
echo '<ul>';
|
||||
foreach($error as $error_msg){
|
||||
echo '<div class="error_message">'.$error_msg.'</div>';
|
||||
echo '<li class="error_message">'.$error_msg.'</li>';
|
||||
}
|
||||
echo '</ul>';
|
||||
|
||||
echo '</div>';
|
||||
}
|
||||
@ -147,31 +161,42 @@ class Kolektor {
|
||||
|
||||
// Seznam 6 kolektor anket
|
||||
echo '<div class="kolektor_setting '.(isset($error['ank_id']) ? 'error' : '').'">';
|
||||
echo ' <span class="setting_line">Anketa:</span>';
|
||||
$surveys = $this->getSurveys();
|
||||
$sequence = 0;
|
||||
foreach($surveys as $kolektor_survey){
|
||||
echo ' <input type="radio" id="kolektor_survey_'.$kolektor_survey['survey_sequence'].'" name="kolektor_survey" value="'.$kolektor_survey['ank_id'].'" '.($data['ank_id'] == $kolektor_survey['ank_id'] ? 'checked="checked"' : '').'>';
|
||||
echo '<span class="setting_line">';
|
||||
echo ' <input type="radio" id="kolektor_survey_'.$kolektor_survey['survey_sequence'].'" name="kolektor_survey" sequence="'.$kolektor_survey['survey_sequence'].'" value="'.$kolektor_survey['ank_id'].'" '.($data['ank_id'] == $kolektor_survey['ank_id'] ? 'checked="checked"' : '').' onChange="kolektorSelectSurvey();">';
|
||||
echo ' <label for="kolektor_survey_'.$kolektor_survey['survey_sequence'].'">'.$kolektor_survey['survey_sequence'].' - '.$kolektor_survey['naslov'].'</label>';
|
||||
echo '</span>';
|
||||
|
||||
if($data['ank_id'] == $kolektor_survey['ank_id'])
|
||||
$sequence = $kolektor_survey['survey_sequence'];
|
||||
}
|
||||
echo '</div>';
|
||||
|
||||
|
||||
echo '<div id="kolektor_respondent_settings" '.(($sequence == 0) ? 'style="display:none;"' : '').'>';
|
||||
|
||||
// ID projekta
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_projekt_id']) ? 'error' : '').'">';
|
||||
echo ' ID projekta: <input type="text" name="respondent_projekt_id" value="'.$data['respondent_projekt_id'].'">';
|
||||
echo ' <span class="setting_line">ID projekta:</span>';
|
||||
echo ' <input type="text" class="medium" name="respondent_projekt_id" value="'.$data['respondent_projekt_id'].'">';
|
||||
echo '</div>';
|
||||
|
||||
|
||||
// Email
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_email']) ? 'error' : '').'">';
|
||||
echo ' Email respondenta: <input type="text" name="respondent_email" value="'.$data['respondent_email'].'">';
|
||||
echo ' <span class="setting_line">Email respondenta:</span>';
|
||||
echo ' <input type="text" class="medium" name="respondent_email" value="'.$data['respondent_email'].'">';
|
||||
echo '</div>';
|
||||
|
||||
|
||||
// Funkcija respondenta
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_funkcija']) ? 'error' : '').'">';
|
||||
|
||||
echo ' Funkcija respondenta v podjetju: ';
|
||||
echo ' <select name="respondent_funkcija">';
|
||||
echo ' <span class="setting_line">Funkcija respondenta v podjetju:</span>';
|
||||
echo ' <span class="setting_line"><select name="respondent_funkcija" class="dropdown medium">';
|
||||
echo ' <option value="Vodja nabave" '.($data['respondent_funkcija'] == 'Vodja nabave' ? 'selected="selected"' : '').'>Vodja nabave</option>';
|
||||
echo ' <option value="Vodja projekta" '.($data['respondent_funkcija'] == 'Vodja projekta' ? 'selected="selected"' : '').'>Vodja projekta</option>';
|
||||
echo ' <option value="Skrbnik pogodbe" '.($data['respondent_funkcija'] == 'Skrbnik pogodbe' ? 'selected="selected"' : '').'>Skrbnik pogodbe</option>';
|
||||
@ -183,25 +208,26 @@ class Kolektor {
|
||||
|
||||
|
||||
// Aktivacija na daljavo - samo za anketi 5 in 6 - TODO
|
||||
if(true){
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_remote_activation']) ? 'error' : '').'">';
|
||||
echo ' Aktivacija na daljavo:';
|
||||
echo ' <input type="radio" id="respondent_remote_activation_0" name="respondent_remote_activation" value="0" '.($data['respondent_remote_activation'] == '0' ? 'checked="checked"' : '').'><label for="respondent_remote_activation_0">Ne</label>';
|
||||
echo ' <input type="radio" id="respondent_remote_activation_1" name="respondent_remote_activation" value="1" '.($data['respondent_remote_activation'] == '1' ? 'checked="checked"' : '').'><label for="respondent_remote_activation_1">Da</label>';
|
||||
echo '<div id="kolektor_setting_activation" class="kolektor_setting '.(isset($error['respondent_remote_activation']) ? 'error' : '').'" '.(($sequence == 5 && $sequence == 6) ? '' : 'style="display:none;"').'>';
|
||||
echo ' <span class="setting_line">Aktivacija na daljavo:</span>';
|
||||
echo ' <span class="setting_line"><input type="radio" id="respondent_remote_activation_0" name="respondent_remote_activation" value="0" '.($data['respondent_remote_activation'] == '0' ? 'checked="checked"' : '').'><label for="respondent_remote_activation_0">Ne</label></span>';
|
||||
echo ' <span class="setting_line"><input type="radio" id="respondent_remote_activation_1" name="respondent_remote_activation" value="1" '.($data['respondent_remote_activation'] == '1' ? 'checked="checked"' : '').'><label for="respondent_remote_activation_1">Da</label></span>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
|
||||
// Sporocilo respondentu
|
||||
echo '<div class="kolektor_setting '.(isset($error['respondent_message']) ? 'error' : '').'">';
|
||||
echo ' Spremno besedilo: <textarea name="respondent_message">'.$data['respondent_message'].'</textarea>';
|
||||
echo ' <span class="setting_line">Spremno besedilo:</span>';
|
||||
echo ' <textarea name="respondent_message">'.$data['respondent_message'].'</textarea>';
|
||||
echo '</div>';
|
||||
|
||||
|
||||
// Gumbi
|
||||
echo '<div class="button_holder">';
|
||||
echo ' <button class="medium white-blue" type="button" onClick="createKolektorResponseClose();">Zapri</button>';
|
||||
echo ' <button class="medium blue" type="button" onClick="createKolektorResponse();">Sproži anketo in pošlji email respondentu</button>';
|
||||
echo ' <button class="medium white-blue" type="button" onClick="kolektorCreateResponseClose();">Zapri</button>';
|
||||
echo ' <button class="medium blue" type="button" onClick="kolektorCreateResponse();">Sproži anketo in pošlji email respondentu</button>';
|
||||
echo '</div>';
|
||||
|
||||
echo '</div>';
|
||||
|
||||
|
||||
@ -241,22 +267,22 @@ class Kolektor {
|
||||
// Pohendlamo errorje
|
||||
$error = array();
|
||||
if($response_data['ank_id'] == ''){
|
||||
$error['ank_id'] = 'Izberite anketo.';
|
||||
$error['ank_id'] = 'izberite anketo';
|
||||
}
|
||||
if($response_data['respondent_email'] == ''){
|
||||
$error['respondent_email'] = 'Vnesite email respondenta.';
|
||||
$error['respondent_email'] = 'vnesite email respondenta';
|
||||
}
|
||||
if($response_data['respondent_funkcija'] == ''){
|
||||
$error['respondent_funkcija'] = 'Vnesite funkcijo respondenta.';
|
||||
$error['respondent_funkcija'] = 'vnesite funkcijo respondenta';
|
||||
}
|
||||
if($response_data['respondent_projekt_id'] == ''){
|
||||
$error['respondent_projekt_id'] = 'Vnesite ID projekta oz. krovnega projekta.';
|
||||
$error['respondent_projekt_id'] = 'vnesite ID projekta oz. krovnega projekta';
|
||||
}
|
||||
if($response_data['respondent_remote_activation'] == ''){
|
||||
$error['respondent_remote_activation'] = 'Izberite, če gre za aktivacijo na daljavo.';
|
||||
if($response_data['respondent_remote_activation'] == '' && isset($_POST['respondent_remote_activation'])){
|
||||
$error['respondent_remote_activation'] = 'izberite, če gre za aktivacijo na daljavo';
|
||||
}
|
||||
if($response_data['respondent_message'] == ''){
|
||||
$error['respondent_message'] = 'Vnesite spremno besedilo.';
|
||||
$error['respondent_message'] = 'vnesite spremno besedilo';
|
||||
}
|
||||
|
||||
|
||||
|
@ -4,47 +4,99 @@
|
||||
class KolektorNotifications {
|
||||
|
||||
|
||||
function __construct(){
|
||||
private $response;
|
||||
|
||||
// Statusi responsa
|
||||
private $statuses = array(
|
||||
1 => 'proženo',
|
||||
2 => 'opozorilo 1',
|
||||
3 => 'opozorilo 3',
|
||||
4 => 'neodgovorjeno',
|
||||
5 => 'končano'
|
||||
);
|
||||
|
||||
|
||||
function __construct($respondent_id){
|
||||
global $site_url;
|
||||
global $lang;
|
||||
|
||||
if($respondent_id != '' && $respondent_id > 0){
|
||||
$kr = new KolektorResponse($respondent_id);
|
||||
$this->response = $kr->getResponse();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Posljemo mail z obvestilom uredniku, da je bil spremenjen status responsa
|
||||
public function sendNotification(){
|
||||
|
||||
$survey_title = SurveyInfo::getInstance()->getSurveyTitle();
|
||||
$user_email = User::getInstance($this->response['usr_id'])->primaryEmail();
|
||||
|
||||
$subject = 'Kolektor ETRA 1KA - sprememba statusa respondenta';
|
||||
|
||||
$body = 'Status respondenta '.$this->response['respondent_email'].' ('.$this->response['respondent_funkcija'].') v anketi '.$survey_title.' je bil spremenjen na '.$this->response['status'].' - '.$this->statuses[$this->response['status']].'.';
|
||||
|
||||
|
||||
// Posljemo mail
|
||||
try{
|
||||
$MA = new MailAdapter();
|
||||
$MA->addRecipients($user_email);
|
||||
|
||||
echo $subject;
|
||||
echo '<br>';
|
||||
echo $body;
|
||||
//$resultX = $MA->sendMail($body, $subject);
|
||||
}
|
||||
catch (Exception $e){
|
||||
}
|
||||
}
|
||||
|
||||
// Posljemo mail respondentu z vabilom na anketo
|
||||
public function sendRespondentNotification(){
|
||||
|
||||
$subject = 'Kolektor ETRA - vabilo na anketo';
|
||||
|
||||
// Dobimo url povezave na anketo
|
||||
$kr = new KolektorResponse($this->response['respondent_id']);
|
||||
$url = $kr->getResponseURL();
|
||||
|
||||
$body = $this->response['respondent_message'];
|
||||
$body .= '<br><br>'.$url;
|
||||
|
||||
|
||||
// Posljemo mail
|
||||
try{
|
||||
$MA = new MailAdapter();
|
||||
$MA->addRecipients($this->response['respondent_email']);
|
||||
|
||||
echo $subject;
|
||||
echo '<br>';
|
||||
echo $body;
|
||||
//$resultX = $MA->sendMail($body, $subject);
|
||||
}
|
||||
catch (Exception $e){
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Loop cez vse response in posljemo notificatione glede na statuse
|
||||
public function executeCronJob(){
|
||||
public static function executeCronJob(){
|
||||
|
||||
|
||||
// Status 1 - "prozeno" - preklopimo na status 2 "opozorilo 1"
|
||||
if($this->response['status'] == 0){
|
||||
|
||||
}
|
||||
// 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){
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function sendNotification($response_id){
|
||||
|
||||
$response = new KolektorResponse($response_id);
|
||||
|
||||
// Status 0 - "prozeno" - preklopimo na status 1 "opozorilo 1"
|
||||
if($response->getStatus() == 0){
|
||||
|
||||
}
|
||||
// Status 1 - "opozorilo 1" - preklopimo na status 2 "opozorilo 3"
|
||||
elseif($response->getStatus() == 1){
|
||||
|
||||
}
|
||||
// Status 2 "opozorilo 3" - preklopimo na status 3 "neodgovorjeno"
|
||||
elseif($response->getStatus() == 2){
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Posljemo mail
|
||||
|
||||
|
||||
// Spremenimo status
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -6,13 +6,22 @@ class KolektorResponse {
|
||||
|
||||
private $response = array();
|
||||
|
||||
// Statusi responsa
|
||||
private $statuses = array(
|
||||
1 => 'proženo',
|
||||
2 => 'opozorilo 1',
|
||||
3 => 'opozorilo 3',
|
||||
4 => 'neodgovorjeno',
|
||||
5 => 'končano'
|
||||
);
|
||||
|
||||
function __construct($response_id){
|
||||
|
||||
function __construct($respondent_id){
|
||||
global $site_url;
|
||||
global $lang;
|
||||
|
||||
// Dobimo podatke responsa
|
||||
$sql = sisplet_query("SELECT * FROM kolektor_survey_response WHERE id='".$response_id."'");
|
||||
$sql = sisplet_query("SELECT * FROM kolektor_survey_response WHERE respondent_id='".$respondent_id."'");
|
||||
|
||||
if(mysqli_num_rows($sql) == 0){
|
||||
echo 'Napaka! Odgovor ne obstaja.';
|
||||
@ -23,10 +32,45 @@ class KolektorResponse {
|
||||
$this->response = $row;
|
||||
}
|
||||
|
||||
public function getStatus(){
|
||||
return $this->response['status'];
|
||||
|
||||
// Vrnemo array response
|
||||
public function getResponse(){ return $this->response; }
|
||||
|
||||
// Vrnemo URL za dostop respondenta do ankete
|
||||
public function getResponseURL(){
|
||||
|
||||
$nice_url = SurveyInfo::getSurveyLink();
|
||||
|
||||
// Dobimo kodo za prepoznavo respondenta
|
||||
$sql = sisplet_query("SELECT pass FROM srv_user WHERE id='".$this->response['respondent_id']."'");
|
||||
if(mysqli_num_rows($sql) == 0){
|
||||
return false;
|
||||
}
|
||||
|
||||
$row = mysqli_fetch_array($sql);
|
||||
|
||||
$url = $nice_url.'&code='.$row['pass'];
|
||||
|
||||
$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'];
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
// Shranjevanje novega statusa in posiljanje obvestila uredniku
|
||||
public function setStatus($status){
|
||||
|
||||
// Shranimo nov status za response
|
||||
$sql = sisplet_query("UPDATE kolektor_survey_response SET status='".$status."' WHERE respondent_id='".$this->response['respondent_id']."'");
|
||||
|
||||
// Posljemo obvestilo uredniku
|
||||
$kn = new KolektorNotifications($this->response['respondent_id']);
|
||||
$kn->sendNotification();
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Dodajanje responsa
|
||||
public static function addResponse($response_data){
|
||||
@ -54,12 +98,6 @@ class KolektorResponse {
|
||||
$url .= '&kolfunkc='.$response_data['respondent_funkcija'];
|
||||
$url .= '&kolactivat='.$response_data['respondent_remote_activation'];
|
||||
|
||||
// Poslji email z vabilom na anketo - TODO
|
||||
echo 'URL: '.$url;
|
||||
|
||||
// Ce vse ok, nastavimo status na e-posta - neodgovor
|
||||
$sql_user = sisplet_query("UPDATE srv_user SET last_status='1' WHERE id='".$respondent_id."'");
|
||||
|
||||
|
||||
// Dodaj respondenta v kolektor bazo
|
||||
$sql_kolektor = sisplet_query("INSERT INTO kolektor_survey_response
|
||||
@ -91,10 +129,16 @@ class KolektorResponse {
|
||||
}
|
||||
|
||||
|
||||
$response_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
// Ce vse ok, nastavimo status na e-posta - neodgovor
|
||||
$sql_user = sisplet_query("UPDATE srv_user SET last_status='1' WHERE id='".$respondent_id."'");
|
||||
|
||||
if($response = new KolektorResponse($response_id)){
|
||||
|
||||
// Poslji email z vabilom na anketo
|
||||
$kn = new KolektorNotifications($respondent_id);
|
||||
$kn->sendRespondentNotification();
|
||||
|
||||
|
||||
// Uspesno prozenje
|
||||
echo '<div class="popup_close"><a href="#" onclick="window.location.reload();">✕</a></div>';
|
||||
|
||||
echo '<h2>Dodajanje novega respondenta</h2>';
|
||||
@ -105,14 +149,8 @@ class KolektorResponse {
|
||||
echo '<div class="button_holder">';
|
||||
echo ' <button class="medium white-blue" type="button" onClick="window.location.reload();">Zapri</button>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
return $response;
|
||||
}
|
||||
else{
|
||||
echo 'Napaka pri dodajanju odgovora!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -1,5 +1,5 @@
|
||||
|
||||
function createKolektorResponsePopup(){
|
||||
function kolektorCreateResponsePopup(){
|
||||
|
||||
$("#fullscreen").addClass('PopUpNarrow').addClass('divPopUp');
|
||||
$("#fullscreen").load('ajax.php?t=kolektor&a=add_repsonse_popup', function() {
|
||||
@ -9,16 +9,39 @@ function createKolektorResponsePopup(){
|
||||
});
|
||||
}
|
||||
|
||||
function createKolektorResponseClose(){
|
||||
function kolektorCreateResponseClose(){
|
||||
|
||||
$('#fade').fadeOut('slow');
|
||||
$('#fullscreen').fadeOut('slow').html('');
|
||||
}
|
||||
|
||||
function createKolektorResponse(){
|
||||
function kolektorCreateResponse(){
|
||||
|
||||
var form = $("#kolektor_add_response_form").serializeArray();
|
||||
|
||||
$('#kolektor_add_response').load('ajax.php?t=kolektor&a=add_repsonse', form);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function kolektorSelectSurvey(){
|
||||
|
||||
var survey_sequence = $('input[name="kolektor_survey"]:checked').attr("sequence");
|
||||
|
||||
console.log(survey_sequence);
|
||||
|
||||
if(survey_sequence > 0 && survey_sequence < 7){
|
||||
|
||||
$('#kolektor_respondent_settings').slideDown();
|
||||
|
||||
if(survey_sequence == 5 || survey_sequence == 6){
|
||||
$('#kolektor_setting_activation').slideDown();
|
||||
}
|
||||
else{
|
||||
$('#kolektor_setting_activation').slideUp();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$('#kolektor_respondent_settings').slideUp();
|
||||
}
|
||||
}
|
@ -25,6 +25,7 @@ use GDPR;
|
||||
use MAZA;
|
||||
use UserAccess;
|
||||
use SurveyCheck;
|
||||
use KolektorResponse;
|
||||
|
||||
|
||||
class InitClass extends Controller
|
||||
@ -1322,8 +1323,14 @@ class InitClass extends Controller
|
||||
$u = sisplet_query($sqlString);
|
||||
}
|
||||
|
||||
// Modul kolektor - shranimo poseben status "koncano - 5" in posljemo opomnik
|
||||
if(Common::checkModule('kolektor') == '1' && $status == '6'){
|
||||
$kr = new KolektorResponse(get('usr_id'));
|
||||
$kr->setStatus($kolektor_status='5');
|
||||
}
|
||||
}
|
||||
// updatamo samo datum - tip se ni spremenil
|
||||
} else {
|
||||
else {
|
||||
|
||||
SurveySetting::getInstance()->Init(get('anketa'));
|
||||
$date = SurveySetting::getInstance()->getSurveyMiscSetting('survey_date');
|
||||
@ -1334,7 +1341,6 @@ class InitClass extends Controller
|
||||
|
||||
# osvežimo datum spremembe
|
||||
sisplet_query("UPDATE srv_user SET time_edit = " . $_time_insert . ", language='" . get('language') . "' WHERE id='" . get('usr_id') . "'");
|
||||
|
||||
}
|
||||
|
||||
// Ce ne belezimo parapodatka za cas responsa, anonimno zabelezimo cas zadnjega responsa
|
||||
|
File diff suppressed because it is too large
Load Diff
62
resources/sass/admin_new/modules/kolektor.scss
Normal file
62
resources/sass/admin_new/modules/kolektor.scss
Normal file
@ -0,0 +1,62 @@
|
||||
.page_kolektor{
|
||||
|
||||
button.kolektor_create_response{
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
// Tabela responsov
|
||||
table.kolektor_reponses{
|
||||
width: 100%;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Popup za dodajanje respondenta
|
||||
#kolektor_add_response{
|
||||
max-height: 95vh;
|
||||
overflow-y: auto;
|
||||
|
||||
#kolektor_add_response_form{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.error_messages{
|
||||
margin-bottom: 16px;
|
||||
|
||||
font-weight: 600;
|
||||
|
||||
ul{
|
||||
margin: 0;
|
||||
|
||||
li.error_message{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.kolektor_setting{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
margin-bottom: 8px;
|
||||
|
||||
&.error{
|
||||
color: $red;
|
||||
}
|
||||
|
||||
.setting_line{
|
||||
margin-top: 8px;
|
||||
}
|
||||
}
|
||||
|
||||
#kolektor_respondent_settings{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
7
resources/sass/admin_new/modules/modules.scss
Normal file
7
resources/sass/admin_new/modules/modules.scss
Normal file
@ -0,0 +1,7 @@
|
||||
/*
|
||||
Custom modules
|
||||
*/
|
||||
|
||||
|
||||
// Modul za kolektor
|
||||
@import "kolektor";
|
@ -12,6 +12,9 @@
|
||||
// Page specific styles (survey editing, analysis...)
|
||||
@import "pages/pages";
|
||||
|
||||
// Custom modules
|
||||
@import "modules/modules";
|
||||
|
||||
// Mobile styles
|
||||
@import "mobile/mobile";
|
||||
|
||||
|
@ -9609,25 +9609,28 @@ CREATE TABLE kolektor_survey_response(
|
||||
id INT(11) NOT NULL auto_increment,
|
||||
ank_id INT(11) NOT NULL DEFAULT 0,
|
||||
usr_id INT(11) NOT NULL DEFAULT 0,
|
||||
insert_time DATETIME(3) NOT NULL,
|
||||
status ENUM('0','1','2','3','4') NOT NULL DEFAULT '0',
|
||||
respondent_id INT(11) NOT NULL DEFAULT 0,
|
||||
insert_time DATETIME(3) NOT NULL,
|
||||
status ENUM('1','2','3','4','5') NOT NULL DEFAULT '1',
|
||||
respondent_email VARCHAR(100) NOT NULL DEFAULT '',
|
||||
respondent_funkcija VARCHAR(100) NOT NULL DEFAULT '',
|
||||
respondent_projekt_id VARCHAR(100) NOT NULL DEFAULT '',
|
||||
respondent_remote_activation ENUM('0','1') NOT NULL DEFAULT '0',
|
||||
respondent_message TEXT NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE KEY (respondent_id),
|
||||
CONSTRAINT fk_kolektor_survey_response_ank_id FOREIGN KEY (ank_id) REFERENCES srv_anketa (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT fk_kolektor_survey_response_usr_id FOREIGN KEY (usr_id) REFERENCES users (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
CONSTRAINT fk_kolektor_survey_response_respondent_id FOREIGN KEY (respondent_id) REFERENCES srv_user (id) ON DELETE CASCADE ON UPDATE CASCADE,
|
||||
PRIMARY KEY (id)
|
||||
CONSTRAINT fk_kolektor_survey_response_respondent_id FOREIGN KEY (respondent_id) REFERENCES srv_user (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE kolektor_survey_response_alert(
|
||||
kolektor_survey_response_id INT(11) NOT NULL,
|
||||
id INT(11) NOT NULL auto_increment,
|
||||
respondent_id INT(11) NOT NULL DEFAULT 0,
|
||||
alert_time DATETIME(3) NOT NULL,
|
||||
new_status ENUM('0','1','2','3','4') NOT NULL,
|
||||
CONSTRAINT kolektor_survey_response_alert_kolektor_survey_response_id FOREIGN KEY (kolektor_survey_response_id) REFERENCES kolektor_survey_response (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
PRIMARY KEY (id),
|
||||
CONSTRAINT kolektor_survey_response_alert_respondent_id FOREIGN KEY (respondent_id) REFERENCES srv_user (id) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE kolektor_podjetje_funkcija(
|
||||
|
Loading…
x
Reference in New Issue
Block a user