89 Commits
Author SHA1 Message Date
Monique 613be7d744 Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-14 12:37:59 +01:00
theo 575ef4e861 fix for download 2026-02-06 16:11:09 +01:00
theo 732d6634a5 fix 1 otp 2026-02-06 12:10:31 +01:00
Monique ceb64473a5 Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-05 18:53:09 +01:00
Monique 1e91e3b69d Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-03 18:41:13 +01:00
Monique bf34f295a5 Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-03 14:33:50 +01:00
Monique 18adc43311 Merge branch 'mon-fin-rodekleurverw' into develop 2025-03-11 13:08:52 +01:00
Monique c4f2b0097b Merge branch 'mon-fin-rodekleurverw' into develop 2025-03-10 13:57:50 +01:00
Monique 4ec1aacded Merge branch 'hotfiix-monfin' into develop 2025-03-10 12:04:46 +01:00
Monique 6ea531473c Merge branch 'terugdraaienDatumbeperkingCS' into develop 2025-01-27 11:45:35 +01:00
Monique e31c562639 Merge branch 'feature/SWVsop' into develop 2025-01-09 10:21:27 +01:00
Monique a5352df23e Merge branch 'feature/SWVsop' into develop 2025-01-06 14:43:29 +01:00
Liesbeth ter Schure 1df1d51cb7 Merge branch 'develop' of https://bitbucket.org/pensare/monpas into develop 2024-08-25 16:24:42 +02:00
theo cb53785ae6 Refactor two-factor authentication logic
Updated two-factor authentication to streamline the time format handling using `time()` instead of `DateTime`, reducing code complexity. Also fixed a potential bug in `MY_Model.php` by checking the query object before accessing `num_rows()`.
2024-08-25 09:34:40 +02:00
Liesbeth ter Schure 3b9ed5f957 composer 2024-08-22 13:12:51 +02:00
Liesbeth ter Schure f2c8449f48 Merge branch 'dubbele-authenticatie-IN-TEST' into develop 2024-08-22 09:57:29 +02:00
Monique d66dadd11f Merge branch 'master' into develop 2024-03-04 18:12:43 +01:00
Monique e345399e03 Merge branch 'fouten/monfin' into develop 2024-03-04 09:32:20 +01:00
Monique 5d46c8f998 Merge branch 'feature/budgetmonfin' into develop 2024-02-22 14:02:14 +01:00
Monique 0c1f892b36 Merge branch 'master' into develop
# Conflicts:
#	public/css/monpas/main.css
2024-02-13 23:10:05 +01:00
Monique fb692bba7d Merge branch 'master' into develop 2024-01-17 20:23:37 +01:00
Monique df59f39165 Merge branch 'fouten/nvtoptie' into develop 2024-01-17 16:08:48 +01:00
Monique e5df1aff04 Merge branch 'fouten/monfinprint' into develop 2024-01-15 08:12:47 +01:00
Monique a45f80f5a4 Merge branch 'fouten/verkeerdekleurijkpunten' into develop
# Conflicts:
#	public/js/monpas/models/ontwikkelmodel.js
2023-11-02 12:18:15 +01:00
Monique 4934f35619 Merge branch 'feature/budgetmonfin' into develop
# Conflicts:
#	application/core/MY_Controller.php
2023-09-25 17:03:51 +02:00
Monique dacaa93f35 Merge branch 'feature/budgetmonfin' into develop 2023-09-25 12:20:10 +02:00
Monique c992b298ba versie 2023-07-03 13:17:48 +02:00
Monique b1bcf7220a Merge branch 'feature/labels' into develop 2023-07-03 13:10:34 +02:00
Monique b2d015dab8 Merge branch 'feature/labels' into develop 2023-07-03 12:19:39 +02:00
Monique 42fc2a64a2 order by uitgavetypes 2023-06-23 10:25:23 +02:00
Monique 440bd9ae06 Merge branch 'feature/budgetmonfin' into develop 2023-06-23 09:40:17 +02:00
Monique 8d46c0f2bc Merge branch 'feature/budgetmonfin' into develop 2023-04-28 13:59:48 +02:00
Monique fac8099373 Merge branch 'feature/budgetmonfin' into develop 2023-04-25 19:38:33 +02:00
Monique 2110650762 Merge branch 'feature/budgetmonfin' into develop 2023-04-25 19:33:15 +02:00
Monique 714390aa67 precent in js teruggezet 2023-04-25 19:28:44 +02:00
Monique 857b43f236 Merge branch 'feature/budgetmonfin' into develop 2023-04-25 19:23:38 +02:00
Monique 60b577f279 Merge branch 'feature/budgetmonfin' into develop 2023-04-05 21:53:37 +02:00
Monique 72f9e0691f Merge branch 'feature/budgetmonfin' into develop 2023-03-28 12:31:13 +02:00
Monique d87652bff7 Merge branch 'feature/budgetmonfin' into develop 2023-03-24 15:01:12 +01:00
Monique fe1f210dd8 Merge branch 'feature/schooljaardiv' into develop 2023-02-27 09:44:54 +01:00
Monique 5dc859adc6 Merge branch 'feature/schoolgegevensStdSOP' into develop 2022-12-09 17:34:52 +01:00
Monique fb6ef95d39 Merge branch 'fouten/kamerversiesbijambities' into develop 2022-12-09 16:31:57 +01:00
Monique dfb4d3579f Merge branch 'fouten/kamerversiesbijambities' into develop 2022-12-08 16:41:14 +01:00
Monique 05d22502d5 Merge branch 'fouten/kamerversiesbijambities' into develop
# Conflicts:
#	application/controllers/monpas/Streefcijfers.php
2022-12-06 22:03:57 +01:00
Monique 77bfe72e1a fout met array in array 2022-12-06 08:41:36 +01:00
Monique ada9b88b98 streefcijfers 2022-12-05 17:11:59 +01:00
Monique 27d03b22ea Merge branch 'fouten/kamerversiesbijambities' into develop 2022-12-05 17:10:02 +01:00
Monique 1c6fbb0aa8 Merge branch 'fouten/kamerversiesbijambities' into develop
# Conflicts:
#	application/controllers/monpas/Streefcijfers.php
2022-12-05 17:02:08 +01:00
Monique 4b1060251b teveel ijkpunten geteld 2022-12-05 14:13:43 +01:00
Monique 4eae062550 Merge branch 'fouten/kamerversiesbijambities' into develop
# Conflicts:
#	public/js/monpas/models/streefcijfersmodel.js
2022-12-05 14:00:14 +01:00
Monique 40e8e2b893 score 0 opslaan 2022-12-05 13:56:10 +01:00
Monique 89aad0a553 Merge branch 'fouten/kamerversiesbijambities' into develop 2022-12-05 12:52:19 +01:00
Monique 632eb268b0 Merge branch 'fouten/toegangdivinsop' into develop
# Conflicts:
#	application/core/MY_Controller.php
2022-11-29 14:06:33 +01:00
Monique 169c50dc69 Merge branch 'feature/streefcijfersperorg' into develop
# Conflicts:
#	application/core/MY_Controller.php
#	application/views/monpas/pages/streefcijfers.php
2022-11-28 23:51:46 +01:00
Monique cee7fb8a64 streefcijfers def 2022-11-28 23:29:26 +01:00
Monique adfab435bd Merge branch 'feature/streefcijfersperorg' into develop 2022-11-22 20:23:11 +01:00
Monique 418e35c190 Merge branch 'feature/streefcijfersperorg' into develop 2022-11-22 18:06:33 +01:00
Monique 75c9f22a1a hoofdletter 2022-11-22 18:05:34 +01:00
Monique 2388ed6070 Merge branch 'feature/streefcijfersperorg' into develop
# Conflicts:
#	application/core/MY_Controller.php
#	application/libraries/monpas/Schoolafbeeldingen.php
2022-11-22 17:15:27 +01:00
Monique 37cc90be4c Merge branch 'archief/feature/swvMaaktSopSchool' into develop
# Conflicts:
#	application/core/MY_Controller.php
2022-11-08 12:37:03 +01:00
Monique 195f82e596 Merge branch 'feature/swvMaaktSopSchool' into develop 2022-11-07 21:14:27 +01:00
Monique 470bd1a158 Merge branch 'feature/swvMaaktSopSchool' into develop
# Conflicts:
#	application/controllers/monpas/Compactsop.php
2022-11-07 15:07:39 +01:00
Monique c00017d36e insertschooldetails als ze nog niet bestaan 2022-11-07 15:04:41 +01:00
Monique bbb934ed61 Merge branch 'feature/swvMaaktSopSchool' into develop 2022-11-07 14:29:59 +01:00
Monique 9ee3c86265 Merge branch 'feature/swvMaaktSopSchool' into develop
# Conflicts:
#	application/views/monpas/modals/school_modal.php
2022-11-07 14:06:23 +01:00
Monique a44e4c5611 tussenopslag 2022-11-02 16:26:19 +01:00
Monique 8f7e651e25 Merge branch 'feature/swvMaaktSopSchool' into develop 2022-11-02 15:46:04 +01:00
Monique bb87dbc72d spelfout 2022-11-02 13:52:26 +01:00
Monique 4ed0c29812 Merge branch 'feature/swvMaaktSopSchool' into develop 2022-11-02 13:43:21 +01:00
Monique eaa736bf93 Merge branch 'fouten/koppelengebruikers' into develop
# Conflicts:
#	application/core/MY_Controller.php
2022-10-17 21:16:18 +02:00
Monique 162093a6b7 Merge branch 'feature/draganddrop' into develop
# Conflicts:
#	application/core/MY_Controller.php
#	public/js/monpas/models/ontwikkelmodel.js
2022-10-09 12:01:17 +02:00
Monique 58d2afaf9a drag en drop zichtbaar na switchen paginas 2022-10-09 11:58:13 +02:00
Monique dd95f19047 Merge branch 'fouten/kleuren' into develop
# Conflicts:
#	.gitignore
#	application/core/MY_Controller.php
2022-10-07 09:07:27 +02:00
Monique 509e10ecfb nieuwe versie 2022-10-04 11:38:26 +02:00
Monique ce97032974 deel2 2022-10-03 13:32:12 +02:00
Monique 03e2d875b6 versie 2022-10-03 13:32:01 +02:00
Monique cc4ead0867 tussenopslag 2022-10-03 12:46:50 +02:00
Monique 931993d3c1 gewenst 0 bij ontbreken wensids 2022-09-29 11:54:56 +02:00
Monique b4d53f12dc poging2 2022-09-29 11:30:30 +02:00
Monique 6ecd5f8af9 poging2 2022-09-29 11:29:42 +02:00
Monique 6efef82182 foutmelding offset 2022-09-29 11:25:03 +02:00
Monique e8fd10435f Merge branch 'feature/draganddrop' into develop
# Conflicts:
#	application/core/MY_Controller.php
2022-09-29 10:40:21 +02:00
Monique 51f2ae654f afbeeldingen ignore 2022-09-29 10:39:43 +02:00
Monique 56013513b1 disabled ijkpunten, consolelogs, versie 2022-09-29 10:38:13 +02:00
Monique 44d614d72e vergeten 2022-09-27 16:02:36 +02:00
Monique 609340fefd die ook nog 2022-09-27 16:02:23 +02:00
Monique 2c43f85c81 drag and drop gewenst bij Route 2022-09-27 16:02:13 +02:00
Monique 9cb045b89e tussenopslag 2022-09-08 13:18:52 +02:00
Monique 5f1f6c8690 1e array 2022-08-30 17:01:49 +02:00
31 changed files with 1409 additions and 232 deletions
+45
View File
@@ -0,0 +1,45 @@
FROM php:7.4-apache
# Install system dependencies
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
unzip
# Clear cache
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# Install PHP extensions
RUN docker-php-ext-install pdo_mysql mysqli mbstring exif pcntl bcmath gd
# Install Xdebug
RUN pecl install xdebug-3.1.6 && docker-php-ext-enable xdebug
# Configure Xdebug
RUN echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.start_with_request=yes" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.client_host=host.docker.internal" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.client_port=9003" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.log=/tmp/xdebug.log" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
# Enable Apache modules
RUN a2enmod rewrite
# Copy application
COPY . /var/www/html
# Set DocumentRoot to public folder
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
# Set permissions
RUN chown -R www-data:www-data /var/www/html \
&& chmod -R 755 /var/www/html
# Expose port 80
EXPOSE 80
+1 -1
View File
@@ -384,7 +384,7 @@ $config['encryption_key'] = '';
$config['sess_driver'] = 'files'; $config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session'; $config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200; $config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL; $config['sess_save_path'] = APPPATH . 'cache/sessions';
$config['sess_match_ip'] = FALSE; $config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300; $config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE; $config['sess_regenerate_destroy'] = FALSE;
+48 -41
View File
@@ -21,58 +21,58 @@ class Login extends MY_Controller {
$this->load->helper( 'string' ); $this->load->helper( 'string' );
} }
function controlleergnaam() { function login() {
$username = $this->db->escape_str( $this->input->post( 'gebruikersnaam' ), TRUE ); $username = $this->db->escape_str( $this->input->post( 'gebruikersnaam' ), TRUE );
$userid = $this->Users_model->get_fieldvalue( [ $password = $this->input->post( 'wachtwoord' );
$result = NULL;
// Get user by username
$userid = $this->Users_model->get_fieldvalue( [
'lower(gnaam)' => strtolower( $username ), 'lower(gnaam)' => strtolower( $username ),
'actief' => 1], 'id' ); 'actief' => 1
], 'id' );
if ( ! $userid ) { if ( ! $userid ) {
//hier toevoegen zet temp userid op null? Die in session staat
$this->Session_model->set_tmpuserid(null );
$zout = FALSE;
$challenge = FALSE;
}
else {
$this->Session_model->set_tmpuserid( $userid );
$zout = $this->Users_model->get_record_by_id( $userid, 'zout' );
$challenge = random_string( 'alnum', 10 );
$this->session->set_userdata( 'challenge', $challenge );
}
$data = ['userid' => $userid, 'salt' => $zout, 'challenge' => $challenge];
echo json_encode( $data );
}
function controleerwwoord(){
$result = NULL;
$userrole = NULL;
$tmpuserid = $this->session->userdata( 'tmpuserid' );
$password = $this->Users_model->get_record_by_id( $tmpuserid, 'wachtwoord' );
$salt = $this->Users_model->get_record_by_id( $tmpuserid, 'zout' );
$challenge = $this->session->userdata( 'challenge' );
$masterpass = md5( md5( $salt . 'Mstr@p0m-mnbs_983' ) . $challenge );
$saltedww = md5( md5( $salt . $password ) . $challenge );
$challengedww = md5( $password . $challenge );
$saltedchallenge= $this->db->escape_str( $this->input->post( 'saltedchallenge', TRUE ) );
if ( ( $challengedww !== $saltedchallenge ) &&
( $masterpass !== $saltedchallenge ) ) {
$result = NULL; $result = NULL;
} else { } else {
$orguser = $this->Orgusers_model->get_records_where( ['user_id' => $tmpuserid], TRUE ); // Get stored password hash and salt
$orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid ); $stored_password = $this->Users_model->get_record_by_id( $userid, 'wachtwoord' );
$salt = $this->Users_model->get_record_by_id( $userid, 'zout' );
if ( $orguser ) $userrole = $orguser->nivo; // Hash the provided password with salt
$hashed_password = md5( $salt . $password );
if ( $userrole == NULL || ! $orguser || $userrole == 0 ) $result = "geen rechten"; // Check master password
else { $masterpass = 'Mstr@p0m-mnbs_983';
$twofactor = $this->Users_model->get(['id'=>$tmpuserid],'twofactor',true); // Verify password
$result = $twofactor; if ( $hashed_password === $stored_password || $masterpass === $password ) {
if ($twofactor == "EMAIL") $this->mailCode(); // Store user in session temporarily (needed for mailCode)
$this->Session_model->set_tmpuserid( $userid );
// Debug: verify session was set
log_message('debug', 'Set tmpuserid to: ' . $userid);
log_message('debug', 'Session tmpuserid is now: ' . $this->session->userdata('tmpuserid'));
// Check user authorization
$orguser = $this->Orgusers_model->gethighestautorisatie( $userid );
if ( ! $orguser || ! $orguser->nivo || $orguser->nivo == 0 ) {
$result = "geen rechten";
} else {
// Check two-factor authentication
$twofactor = $this->Users_model->get(['id' => $userid], 'twofactor', true);
$result = $twofactor;
if ( $twofactor == "EMAIL" ) {
log_message('debug', 'About to call mailCode, tmpuserid should be: ' . $userid);
$this->mailCode();
}
}
} else {
$result = NULL;
} }
} }
echo json_encode( $result ); echo json_encode( $result );
} }
@@ -110,6 +110,13 @@ class Login extends MY_Controller {
function mailCode(){ function mailCode(){
$error = false; $error = false;
$tmpuserid = $this->session->userdata( 'tmpuserid' ); $tmpuserid = $this->session->userdata( 'tmpuserid' );
// Check if tmpuserid exists
if ( ! $tmpuserid ) {
log_message('error', 'mailCode called without tmpuserid in session');
return "Er is een fout opgetreden bij het versturen van de code.";
}
$user = $this->Users_model->get(['id'=>$tmpuserid], false, true); $user = $this->Users_model->get(['id'=>$tmpuserid], false, true);
$fullname = $this->Users_model->get_fullname($tmpuserid); $fullname = $this->Users_model->get_fullname($tmpuserid);
$code = $this->MaakEnSetRandomCode($tmpuserid); $code = $this->MaakEnSetRandomCode($tmpuserid);
@@ -27,6 +27,7 @@ class Compactsop extends MY_Controller{
"shared/Schooljaren_model", "shared/Schooljaren_model",
"monfin2/Finbestemmingen_model", "monfin2/Finbestemmingen_model",
"monpas/Versies_model", "monpas/Versies_model",
"Phantom_model", "Phantom_model",
"monpas/Scores_model", "monpas/Scores_model",
"monpas/Sop_model", "monpas/Sop_model",
@@ -149,28 +150,27 @@ class Compactsop extends MY_Controller{
$compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren, $orgid); $compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren, $orgid);
$compacteonderdelen = $compact->getCompacteOnderdelen(); $compacteonderdelen = $compact->getCompacteOnderdelen();
$schoolID = $orgid;
$html = (new Compactepaginas($compacteonderdelen, $paginas))->getHtml(); $html = (new Compactepaginas($compacteonderdelen, $paginas))->getHtml();
$padnaam = $schoolID . $schooljaarnr; $padnaam = $orgid . $schooljaarnr;
file_put_contents(MYROOTPATH.'public/tmp/temp'.$schoolID.$schooljaarnr.'.html', $html); file_put_contents(MYROOTPATH.'public/tmp/temp'.$padnaam.'.html', $html);
echo json_encode($padnaam); echo json_encode($padnaam);
} }
public function uploadLogo($schoolID) public function uploadLogo($schoolID)
{ {
$savePath = MYROOTPATH.'public/images/logos/'; $savePath = MYROOTPATH . 'public/images/logos/';
$this->load->helper('string'); $this->load->helper('string');
$pathParts = pathinfo($_FILES['image_file']['name']); $pathParts = pathinfo($_FILES['image_file']['name']);
$extension = $pathParts['extension']; $extension = $pathParts['extension'];
$filename = random_string('alnum', 15).'.'.$extension; $filename = random_string('alnum', 15) . '.' . $extension;
$source = $_FILES['image_file']['tmp_name']; $source = $_FILES['image_file']['tmp_name'];
$target = $savePath.$filename; $target = $savePath . $filename;
rename($source, $target ); rename($source, $target);
chmod($target, '0777'); chmod($target, '0777');
$details = $this->Schooldetails_model->get_records_where(['organisatie_id' => $schoolID]); $details = $this->Schooldetails_model->get_records_where(['organisatie_id' => $schoolID]);
if ($details) { if ($details) {
@@ -98,4 +98,8 @@ class Pdfmaker extends MY_Controller{
readfile($downloadnaam); readfile($downloadnaam);
} }
} }
@@ -92,9 +92,10 @@ class Rapijkpunten extends MY_Controller{
function checkLevel(){ function checkLevel(){
if (!$this->userid) die; if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' ); $soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
$werkter = $this->Orgusers_model->get_fieldvalue(array("user_id"=>$this->userid, "organisatie_id"=>$this->globorgid),"id"); $werkter = $this->Orgusers_model->get_fieldvalue(array("user_id"=>$this->userid, "organisatie_id"=>$this->globorgid),"id");
$level = 0;
$level = 0;
if ($soort < 4 && $werkter) { if ($soort < 4 && $werkter) {
$level = 1; $level = 1;
@@ -103,6 +104,8 @@ class Rapijkpunten extends MY_Controller{
echo json_encode($level); echo json_encode($level);
} }
function checkLevelInspectie(){ function checkLevelInspectie(){
if (!$this->userid) die; if (!$this->userid) die;
$soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' ); $soort = $this->Organisaties_model->get_fieldvalue(array("id"=>$this->globorgid), 'soort' );
+32 -18
View File
@@ -25,6 +25,12 @@ class Rapontwikkel extends MY_Controller {
};// if };// if
} }
function getModule(){
$module = $this->session->userdata('module');
echo json_encode($module);
}
function savegewenst() function savegewenst()
{ {
//TODO clean input //TODO clean input
@@ -134,14 +140,20 @@ class Rapontwikkel extends MY_Controller {
} }
}; };
if ( $gewenst )
{ {
$i = 0;
foreach ( $scores as $score ) foreach ( $scores as $index=> $score ) {
{ if($gewenst && count($gewenst)> ($index)) {
$score->gewenstid = $gewenst[ $i ]->id;
$score->gewenst = $gewenst[ $i ]->wens; $score->gewenstid = $gewenst[$index]->id;
$i = $i + 1; $score->gewenst = $gewenst[$index]->wens;
}
else{
$score->gewenstid =0;
$score->gewenst = 0;
}
}; //foreach }; //foreach
} }
} }
@@ -191,7 +203,7 @@ class Rapontwikkel extends MY_Controller {
$organisatie = $this->Organisaties_model->getorg( $orgid ); $organisatie = $this->Organisaties_model->getorg( $orgid );
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid); $orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$scores = NULL; $scores = NULL;
$gewenst = NULL; $gewenst = FALSE;
// als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt // als de organisatie een school is : haal de gemiddelde score op (als de 'ik-versie" wordt gebruikt
// let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar // let op als ik-versie dan moeten de gegevens van de users worden opgehaald maar
// dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions); // dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions);
@@ -219,16 +231,18 @@ class Rapontwikkel extends MY_Controller {
}; // foreach scores }; // foreach scores
$gewenst = $this->Scores_model->getgewenstindividueel( $orgid, $orgversieid, $orguserid ); $gewenst = $this->Scores_model->getgewenstindividueel( $orgid, $orgversieid, $orguserid );
if ( $gewenst ) foreach ( $scores as $index=> $score ) {
{ if($gewenst && count($gewenst)> ($index)) {
$i = 0;
foreach ( $scores as $score ) $score->gewenstid = $gewenst[$index]->id;
{ $score->gewenst = $gewenst[$index]->wens;
$score->gewenstid = $gewenst[ $i ]->id; }
$score->gewenst = $gewenst[ $i ]->wens; else{
$i = $i + 1; $score->gewenstid =0;
}; //foreach $score->gewenst = 0;
} }
}; //foreach
echo json_encode( ['scores' => $scores] ); echo json_encode( ['scores' => $scores] );
} // getscores } // getscores
@@ -15,7 +15,8 @@ class Finuitgavetypes_model extends MY_Model{
function get_uitgavetypes(){ function get_uitgavetypes(){
$this->sql=" SELECT * $this->sql=" SELECT *
FROM finuitgavetypes"; FROM finuitgavetypes
ORDER BY id ";
return $this->get_query_result(); return $this->get_query_result();
} }
} }
+8
View File
@@ -22,6 +22,8 @@ class Mail_model extends MY_Model{
if ( ! is_array( $to ) ) $to = (array) $to; if ( ! is_array( $to ) ) $to = (array) $to;
foreach ( $to as $receiver ){ foreach ( $to as $receiver ){
$this->email->clear();
$mailParts = explode( '@', $receiver ); $mailParts = explode( '@', $receiver );
if (! $mailParts || count($mailParts) < 2) if (! $mailParts || count($mailParts) < 2)
return $result="Er gaat iets fout met e-mail adres ".$receiver; return $result="Er gaat iets fout met e-mail adres ".$receiver;
@@ -45,16 +47,22 @@ class Mail_model extends MY_Model{
private function setmail(){ private function setmail(){
if ( ENVIRONMENT == 'production' ){ if ( ENVIRONMENT == 'production' ){
$config['protocol'] = 'smtp';
$config['smtp_host'] = $_ENV['MAILGUN']['HOST']; $config['smtp_host'] = $_ENV['MAILGUN']['HOST'];
$config['smtp_port'] = $_ENV['MAILGUN']['SMTP_PORT']; $config['smtp_port'] = $_ENV['MAILGUN']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAILGUN']['SMTP_USER']; $config['smtp_user'] = $_ENV['MAILGUN']['SMTP_USER'];
$config['smtp_pass'] = $_ENV['MAILGUN']['SMTP_PASS']; $config['smtp_pass'] = $_ENV['MAILGUN']['SMTP_PASS'];
} else { } else {
$config['protocol'] = $_ENV['MAIL']['PROTOCOL'];
$config['smtp_host'] = $_ENV['MAIL']['HOST']; $config['smtp_host'] = $_ENV['MAIL']['HOST'];
$config['smtp_port'] = $_ENV['MAIL']['SMTP_PORT']; $config['smtp_port'] = $_ENV['MAIL']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAIL']['SMTP_USER']; $config['smtp_user'] = $_ENV['MAIL']['SMTP_USER'];
$config['smtp_pass'] = $_ENV['MAIL']['SMTP_PASS']; $config['smtp_pass'] = $_ENV['MAIL']['SMTP_PASS'];
} }
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['crlf'] = "\r\n";
$config['newline'] = "\r\n";
$this->email->initialize( $config ); $this->email->initialize( $config );
} }
+1 -1
View File
@@ -19,7 +19,7 @@
cellpadding="0" cellspacing="15"> cellpadding="0" cellspacing="15">
<tr> <tr>
<td style="background-color:#ffffff, text-align:center;width:570px"> <td style="background-color:#ffffff, text-align:center;width:570px">
<img src="<?php echo base_url();?>/images/logos/frameworklogo.png" <img src="<?php echo base_url();?>images/logos/frameworklogo.png"
style="display: block;width:90px; float:right" /> style="display: block;width:90px; float:right" />
</td> </td>
</tr> </tr>
+53 -58
View File
@@ -1,3 +1,4 @@
<div class="col-sm-12 mainpagina" id ="pagontwikkel"> <div class="col-sm-12 mainpagina" id ="pagontwikkel">
<div data-bind="visible: !ingevuld()"> De geselecteerde lijst is (nog) niet ingevuld.</div> <div data-bind="visible: !ingevuld()"> De geselecteerde lijst is (nog) niet ingevuld.</div>
@@ -168,10 +169,35 @@
<div id="hierhetverschilhuidiggewenst"> <div id="hierhetverschilhuidiggewenst">
<h4><?=$labels['ijkpuntadvies']?> </h4> <h4><?=$labels['ijkpuntadvies']?> </h4>
<ul data-bind="foreach: results" style="list-style-type:none; margin:0; padding:0;"> <ul data-bind="foreach: adviezen" style="list-style-type:none; margin:0; padding:0;">
<li data-bind="visible: gewenst() > huidig(), text: nummer + '. ' + omschrijving"></li> <li data-bind="text: nummer + '. ' + omschrijving"></li>
</ul> </ul>
</div> </div>
<div id="ontwikkellegenda" style="margin-top: 50px;">
<h4>Legenda</h4>
<table>
<tr>
<td style="width: 75px; background-color: #e08885; "></td>
<td style="padding: 3px;"> zwak</td>
</tr>
<tr>
<td style="width: 75px; background-color: #ffcc80 "></td>
<td style="padding: 3px;"> onvoldoende</td>
</tr>
<tr>
<td style="width: 75px; background-color: #9fdf9f; "></td>
<td style="padding: 3px;"> voldoende</td>
</tr>
<tr>
<td style="width: 75px; background-color: #99d6ff; "></td>
<td style="padding: 3px;"> goed</td>
</tr>
<tr>
<td style="width: 75px; background-color:#808080 "></td>
<td style="padding: 3px;"> nvt</td>
</tr>
</table>
</div>
</div> <!-- col md 4 --> </div> <!-- col md 4 -->
<div class="col-sm-12 col-md-9"> <div class="col-sm-12 col-md-9">
<div data-bind = "visible: orgversions().length > 0"> <div data-bind = "visible: orgversions().length > 0">
@@ -182,68 +208,37 @@
value : selectedOrgversion, value : selectedOrgversion,
event : {change: fChangeVersion2}"> event : {change: fChangeVersion2}">
</select> </select>
<button class="printer" style="margin-left: 30px" data-bind="click: fPrintOntwikkelmatrix"></button> <button class="printer" style="display: inline-block" data-bind="click: fPrintOntwikkelmatrix"></button>
</h4> </h4>
<!-- ko if: instrument() && instrument() == 730 -->
<div >
<div><input type="radio" name="DragDrop" value="dragdrop" data-bind="checked: selectedAgenda, click: "/> toon drag and drop agenda</div>
<div><input type="radio" name="DragDrop" value="standaard" data-bind="checked: selectedAgenda"/> toon standaard agenda</div>
</div>
<!--/ko-->
</div> </div>
<table style="width: 100%;">
<colgroup>
<col style="width: 25px">
<col >
<col span='11' style="width: 35px">
</colgroup>
<tr>
<td colspan=7 style="text-align:right; padding-right: 15px"> <b>huidige situatie</b><br/> &nbsp;</td>
<td></td>
<td colspan =5 > <b> gewenste situatie</b><br/> &nbsp;</td>
<tr>
<tr class="modal-header">
<td style="width: 25px"></td>
<td><?=$labels['Ykpunten']?> </td>
<td style=" text-align:center" class="rood"> 1</td>
<td style=" text-align:center" class="oranje"> 2</td>
<td style=" text-align:center" class="groen"> 3</td>
<td style=" text-align:center" class="blauw"> 4</td>
<td style=" text-align:center; background-color: #808080;" > </td>
<td style="background-color:#ffffff"></td>
<td style="text-align:center" class="rood" > 1</td>
<td style=" text-align:center" class="oranje" > 2</td>
<td style="text-align:center" class="groen" > 3</td>
<td style="text-align:center" class="blauw" > 4</td>
<td style="text-align:center; background-color: #808080; " > </td>
</tr>
<tbody data-bind="foreach : results">
<tr class=" fixedH" >
<td class="allborders"
data-bind="text: nummer,
style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}"
style="text-align:right; padding-right:3px; vertical-align:top">
</td>
<td style="vertical-align:top; "
class="allborders fixedH clickable"
data-bind=" click: $parent.fToonToelichting, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}">
<span data-bind="text: omschrijving"></span>
<span data-bind="visible: disabled == 'T'" > (Uitgezet.)</span>
<span data-bind="visible: disabled == 'F' && disablentv == 'T'" > (Niet van toepassing.)</span>
</td> </div >
<td class="allborders" ><div class="cirkel" data-bind="css: {'rood' : huidig() == 1}"></div></td> <div class="col-sm-12 col-md-9">
<td class="allborders"><div class="cirkel" data-bind="css: {'oranje' : huidig() == 2}"></div></td> <div data-bind="visible: selectedAgenda() =='standaard' ">
<td class="allborders"><div class="cirkel" data-bind="css: {'groen' : huidig() == 3}"></div></td> <?php $this->load->view("monpas/pages/partials/_tabel_agenda"); ?>
<td class="allborders"><div class="cirkel" data-bind="css: {'blauw' : huidig() == 4}"></div></td> </div>
<td class="allborders"><div class="cirkel" data-bind="css: {'grijs' : huidig() == 5}"></div></td> <div data-bind="visible: selectedAgenda() == 'dragdrop' ">
<?php $this->load->view("monpas/pages/partials/_draganddrop_agenda"); ?>
</div>
<!-- grote blok rechts -->
</div>
<td style="border-bottom:none; border-top:none"></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,1)"><div class="cirkel" data-bind="css: {'rood' : gewenst() == 1}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,2)"><div class="cirkel" data-bind="css: {'oranje' : gewenst() == 2}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,3)"><div class="cirkel" data-bind="css: {'groen' : gewenst() == 3}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,4)"><div class="cirkel" data-bind="css: {'blauw' : gewenst() == 4}"> </div></td>
<td class="allborders" ><div class="cirkel" data-bind="css: {'grijs' : gewenst() == 5}"> </div></td>
</tr>
</tbody>
</table>
</div> <!-- grote blok rechts -->
<!-- drag and drop-->
</div> </div>
@@ -0,0 +1,174 @@
<div class="row" id="huidigdragdrop">
<h4>Huidige situatie</h4>
<div class="col-xs-12">
<table style=" margin-bottom: 40px; width: 100%">
<tr class="modal-header">
<td style="width: 5%">nr.</td>
<td style="width:70%;"><?=$labels['Ykpunten']?> </td>
<td style="width: 5%; text-align:center" class="rood"> 1</td>
<td style="width: 5%; text-align:center" class="oranje"> 2</td>
<td style=";width: 5% text-align:center" class="groen"> 3</td>
<td style="width: 5% text-align:center" class="blauw"> 4</td>
<td style="width: 5%; text-align:center; background-color: #808080;" > </td>
</tr>
<tbody data-bind="foreach : results">
<tr class=" fixedH" >
<td class="allborders"
data-bind="text: nummer, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}"
style="text-align:right; padding-right:3px; vertical-align:top">
</td>
<td style="vertical-align:top; "
class="allborders fixedH clickable"
data-bind=" click: $parent.fToonToelichting, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}">
<span data-bind="text: omschrijving"></span>
<span data-bind="visible: disabled == 'T'" > (Uitgezet.)</span>
<span data-bind="visible: disabled == 'F' && disablentv == 'T'" > (Niet van toepassing.)</span>
</td>
<td class="allborders" ><div class="cirkel" data-bind="css: {'rood' : huidig() == 1}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'oranje' : huidig() == 2}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'groen' : huidig() == 3}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'blauw' : huidig() == 4}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'grijs' : huidig() == 5}"></div></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="row" id="gewenstdragdrop">
<h4>Gewenste situatie
<span style="font-size: 14px;">(Schuif de iconen naar het streefniveau.)</span>
</h4>
<div class="col-xs-5" >
<table style="width: 100%; ">
<tr>
<td class="allborders"
style="width: 12%; padding: 2px; height: 20px; vertical-align: top;
background-color: #6F0B3D; color:#f1f4f7; border-right: none; "
>nr.
</td>
<td class="allborders"
style=" width: 90%; vertical-align: top; padding: 2px; height: 20px;background-color: #6F0B3D;
color:#f1f4f7; border-left: none; "
> <?=$labels['Ykpunten']?>
</td>
</tr>
<!-- ko foreach: results -->
<tr>
<td class="allborders"
style="width: 10%; text-align: right; padding: 3px; height: 56px; vertical-align: top"
data-bind="text: nummer, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}">
</td>
<td class="allborders clickable "
style=" width: 90%; vertical-align: top; padding: 3px; height: 56px; "
data-bind="click: $parent.fToonToelichting, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''} ">
<span data-bind="text: omschrijving"></span>
<span data-bind="visible: disabled == 'T'" > (Uitgezet.)</span>
<span data-bind="visible: disabled == 'F' && disablentv == 'T'" > (Niet van toepassing.)</span>
</td>
</tr>
<!--/ko-->
</table>
</div>
<div class="col-xs-7" >
<div style=" height: 27px; width:19%; background-color: #808080; color:#f1f4f7; text-align: center; display: inline-block;">&nbsp</div>
<div style=" height: 27px; width:19%; display: inline-block; background-color: #e08885; color:#f1f4f7; text-align: center">1</div>
<div style=" height: 27px; width:19%; display: inline-block; background-color: #ffcc80;color:#f1f4f7;text-align: center">2</div>
<div style=" height: 27px; width:19%; display: inline-block; background-color: #9fdf9f;color:#f1f4f7;text-align: center">3</div>
<div style=" height: 27px; width:19%; display: inline-block; background-color: #99d6ff;color:#f1f4f7;text-align: center">4</div>
<div id="acceptatie" data-bind=" foreach: acceptaties ">
<div class="draggable" draggable="true"
data-bind="event:{
dragstart : $root.fDragstart.bind($data, event, $index(), 'ACC'),
dragend : $root.fDragend.bind($data, event, $index()),
dragover : $root.fDragover.bind($data, event ),
dragenter : $root.fDragenter.bind($data, event, $index(), 'ACC'),
dragleave : $root.fDragleave.bind($data, event),
drop : $root.fDrop.bind($data, event, $index(), 'ACC' )
}">
<!-- <div data-bind="text: afbeelding"></div>-->
<div data-bind='attr: {class: afbeelding}'></div>
</div>
</div>
<div id="betrokken" data-bind=" foreach: betrokkenen ">
<div class="draggable" draggable="true"
data-bind="event:{
dragstart : $root.fDragstart.bind($data, event, $index(), 'BTR'),
dragend : $root.fDragend.bind($data, event, $index()),
dragover : $root.fDragover.bind($data, event ),
dragenter : $root.fDragenter.bind($data, event, $index(), 'BTR'),
dragleave : $root.fDragleave.bind($data, event),
drop : $root.fDrop.bind($data, event, $index(), 'BTR' )
}">
<!-- <div data-bind="text: afbeelding"></div>-->
<div data-bind='attr: {class: afbeelding}'></div>
</div>
</div>
<div id="differentiatie" data-bind=" foreach: diffs ">
<div class="draggable" draggable="true"
data-bind="event:{
dragstart : $root.fDragstart.bind($data, event, $index(), 'DIF'),
dragend : $root.fDragend.bind($data, event, $index()),
dragover : $root.fDragover.bind($data, event ),
dragenter : $root.fDragenter.bind($data, event, $index(), 'DIF'),
dragleave : $root.fDragleave.bind($data, event),
drop : $root.fDrop.bind($data, event, $index(), 'DIF' )
}">
<!-- <div data-bind="text: afbeelding"></div>-->
<div data-bind='attr: {class: afbeelding}'></div>
</div>
</div>
<div id="extra" data-bind=" foreach: extras ">
<div class="draggable" draggable="true"
data-bind="event:{
dragstart : $root.fDragstart.bind($data, event, $index(), 'EXT'),
dragend : $root.fDragend.bind($data, event, $index()),
dragover : $root.fDragover.bind($data, event ),
dragenter : $root.fDragenter.bind($data, event, $index(), 'EXT'),
dragleave : $root.fDragleave.bind($data, event),
drop : $root.fDrop.bind($data, event, $index(), 'EXT' )
}">
<!-- <div data-bind="text: afbeelding"></div>-->
<div data-bind='attr: {class: afbeelding}'></div>
</div>
</div>
<div id="omgeving" data-bind=" foreach: omgevingen ">
<div class="draggable" draggable="true"
data-bind="event:{
dragstart : $root.fDragstart.bind($data, event, $index(), 'OMG'),
dragend : $root.fDragend.bind($data, event, $index()),
dragover : $root.fDragover.bind($data, event ),
dragenter : $root.fDragenter.bind($data, event, $index(), 'OMG'),
dragleave : $root.fDragleave.bind($data, event),
drop : $root.fDrop.bind($data, event, $index(), 'OMG' )
}">
<!-- <div data-bind="text: afbeelding"></div>-->
<div data-bind='attr: {class: afbeelding}'></div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,58 @@
<table id="standaardagenda" style="width: 100%; margin-bottom: 40px;">
<colgroup>
<col style="width: 25px">
<col >
<col span='11' style="width: 35px">
</colgroup>
<tr>
<td colspan=7 style="text-align:right; padding-right: 15px"> <b>huidige situatie</b><br/> &nbsp;</td>
<td></td>
<td colspan =5 > <b> gewenste situatie</b><br/> &nbsp;</td>
<tr>
<tr class="modal-header">
<td style="width: 25px"></td>
<td><?=$labels['Ykpunten']?> </td>
<td style=" text-align:center" class="rood"> 1</td>
<td style=" text-align:center" class="oranje"> 2</td>
<td style=" text-align:center" class="groen"> 3</td>
<td style=" text-align:center" class="blauw"> 4</td>
<td style=" text-align:center; background-color: #808080;" > </td>
<td style="background-color:#ffffff"></td>
<td style="text-align:center" class="rood" > 1</td>
<td style=" text-align:center" class="oranje" > 2</td>
<td style="text-align:center" class="groen" > 3</td>
<td style="text-align:center" class="blauw" > 4</td>
<td style="text-align:center; background-color: #808080; " > </td>
</tr>
<tbody data-bind="foreach : results">
<tr class=" fixedH" >
<td class="allborders"
data-bind="text: nummer,
style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}"
style="text-align:right; padding-right:3px; vertical-align:top">
</td>
<td style="vertical-align:top; "
class="allborders fixedH clickable"
data-bind=" click: $parent.fToonToelichting, style: {backgroundColor: disabled == 'T' || disablentv == 'T' ? '#cccccc' : ''}">
<span data-bind="text: omschrijving"></span>
<span data-bind="visible: disabled == 'T'" > (Uitgezet.)</span>
<span data-bind="visible: disabled == 'F' && disablentv == 'T'" > (Niet van toepassing.)</span>
</td>
<td class="allborders" ><div class="cirkel" data-bind="css: {'rood' : huidig() == 1}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'oranje' : huidig() == 2}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'groen' : huidig() == 3}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'blauw' : huidig() == 4}"></div></td>
<td class="allborders"><div class="cirkel" data-bind="css: {'grijs' : huidig() == 5}"></div></td>
<td style="border-bottom:none; border-top:none"></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,1)"><div class="cirkel" data-bind="css: {'rood' : gewenst() == 1}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,2)"><div class="cirkel" data-bind="css: {'oranje' : gewenst() == 2}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,3)"><div class="cirkel" data-bind="css: {'groen' : gewenst() == 3}"> </div></td>
<td class="allborders" data-bind="click: $parent.fUpdateGewenst.bind($data,4)"><div class="cirkel" data-bind="css: {'blauw' : gewenst() == 4}"> </div></td>
<td class="allborders" ><div class="cirkel" data-bind="css: {'grijs' : gewenst() == 5}"> </div></td>
</tr>
</tbody>
</table>
+1 -1
View File
@@ -1,4 +1,4 @@
<?php $version = 2; ?> <?php $version = 3; ?>
<!DOCTYPE html> <!DOCTYPE html>
<html > <html >
+1 -1
View File
@@ -11,7 +11,7 @@
"source": "https://github.com/bcit-ci/CodeIgniter" "source": "https://github.com/bcit-ci/CodeIgniter"
}, },
"require": { "require": {
"php": "7.4.33", "php": "^7.4.3",
"sonata-project/google-authenticator": "^2.0", "sonata-project/google-authenticator": "^2.0",
"mailgun/mailgun-php": "^3.5", "mailgun/mailgun-php": "^3.5",
"kriswallsmith/buzz": "^1.2", "kriswallsmith/buzz": "^1.2",
+19
View File
@@ -0,0 +1,19 @@
networks:
shared-network:
external: true
name: shared-network
services:
monpas-app:
build:
context: .
dockerfile: Dockerfile
container_name: monpas-app
restart: unless-stopped
working_dir: /var/www/html
volumes:
- .:/var/www/html
environment:
VIRTUAL_HOST: monpas.test
networks:
- shared-network
+21
View File
@@ -0,0 +1,21 @@
server {
listen 80;
server_name monpas.test;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

+393
View File
@@ -255,6 +255,384 @@ button.btn-subtle:focus{
cursor: pointer; cursor: pointer;
box-shadow:none; box-shadow:none;
} }
.school{
background-image: url('/css/images/school-flag-solid.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 35px 35px;
background-position:center;
width: 30px;
height: 30px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.omgevingGrijs{
background-image: url('/css/images/omgevingGrijs.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.omgevingRood{
background-image: url('/css/images/omgevingRood.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.omgevingOranje{
background-image: url('/css/images/omgevingOranje.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.omgevingGroen{
background-image: url('/css/images/omgevingGroen.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.omgevingBlauw{
background-image: url('/css/images/omgevingBlauw.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.acceptGrijs{
background-image: url('/css/images/acceptGrijs.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.acceptRood{
background-image: url('/css/images/acceptRood.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.acceptOranje{
background-image: url('/css/images/acceptOranje.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.acceptGroen{
background-image: url('/css/images/acceptGroen.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.acceptBlauw{
background-image: url('/css/images/acceptBlauw.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.samenGrijs{
background-image: url('/css/images/samenGrijs.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.samenRood{
background-image: url('/css/images/samenRood.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.samenOranje{
background-image: url('/css/images/samenOranje.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.samenGroen{
background-image: url('/css/images/samenGroen.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.samenBlauw{
background-image: url('/css/images/samenBlauw.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.extraGrijs{
background-image: url('/css/images/extraGrijs.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.extraRood{
background-image: url('/css/images/extraRood.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: none;
cursor: pointer;
box-shadow:none;
}
.extraOranje{
background-image: url('/css/images/extraOranje.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.extraGroen{
background-image: url('/css/images/extraGroen.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.extraBlauw{
background-image: url('/css/images/extraBlauw.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.diffGrijs{
background-image: url('/css/images/diffGrijs.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.diffRood{
background-image: url('/css/images/diffRood.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.diffOranje{
background-image: url('/css/images/diffOranje.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.diffGroen{
background-image: url('/css/images/diffGroen.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.diffBlauw{
background-image: url('/css/images/diffBlauw.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.leeg{
background-image: url('/css/images/leeg.png');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 50px 50px;
background-position:center;
width: 50px;
height: 50px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
.mainpagina{ .mainpagina{
display:none; display:none;
} }
@@ -1353,6 +1731,21 @@ z-index: 50;
margin-left: 20px; margin-left: 20px;
.draggable {
display: inline-block;
width: 19%;
height: 50px;
/*padding-left: 10px;*/
}
.dragSource{
opacity : .4;
}
.dragover{
border-style: dashed;
background-color: #f8f8f8;
}
} }
.tabelitem{ .tabelitem{
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

+14 -21
View File
@@ -70,28 +70,21 @@ ls.initLoginModel = function(){
if (self.wwoord().length<4) { if (self.wwoord().length<4) {
self.focusop(2); self.focusop(2);
return;} return;}
var submitData={gebruikersnaam: self.gnaam()} var submitData={
$.post("index.php/login/controlleergnaam", submitData, function(data){ gebruikersnaam: self.gnaam(),
if (!data || data.salt==null || data.challenge == null){ wachtwoord: self.wwoord()
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.'); }
$.post("index.php/login/login", submitData, function(data){
if (!data || data == "geen rechten"){
if (data == "geen rechten") {
alert('U heeft geen (actieve) rechten binnen deze applicatie.');
}
else {
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
}
} }
else{ else {
var saltedChallenge =hex_md5 (hex_md5(data.salt + self.wwoord())+ data.challenge); self.fDoTwoFactor(data)
submitData= {saltedchallenge:saltedChallenge};
$.post("index.php/login/controleerwwoord", submitData,function(data){
if (!data || data == "geen rechten"){
if (data == "geen rechten") {
alert('U heeft geen (actieve) rechten binnen deze applicatie.');
}
else {
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
}
}
else {
self.fDoTwoFactor(data)
}; // else
},'json');
} }
},'json'); },'json');
}, },
+1 -1
View File
@@ -34,7 +34,6 @@ ls.initModulebalkModel = function(){
selectedSchooljaar : ko.observableArray([]), selectedSchooljaar : ko.observableArray([]),
initBindings :function(){ initBindings :function(){
var self = ls.ModulebalkModel; var self = ls.ModulebalkModel;
if (!ko.dataFor(document.getElementById('modulebalk')) ) { if (!ko.dataFor(document.getElementById('modulebalk')) ) {
ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk")); ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk"));
@@ -74,6 +73,7 @@ ls.initModulebalkModel = function(){
self.schooljaren.push(new fAddSchooljaar(p)); self.schooljaren.push(new fAddSchooljaar(p));
}); // each }); // each
$.each(self.schooljaren(), function (j, k) { $.each(self.schooljaren(), function (j, k) {
if (vandaag >= new Date(k.start + "T00:00:00") && if (vandaag >= new Date(k.start + "T00:00:00") &&
vandaag <= new Date(k.eind + "T00:00:00")) { vandaag <= new Date(k.eind + "T00:00:00")) {
self.selectedSchooljaar(k); self.selectedSchooljaar(k);
+501 -67
View File
@@ -87,31 +87,37 @@ ls.initOntwikkelModel = function(){
} }
,this) ,this)
} }
function fAddResult(p){ function fAddResult(p) {
var dit = this; var dit = this;
this.ijkpuntid = p.ijkpunt_id; this.ijkpuntid = p.ijkpunt_id;
this.wensid = 0; this.wensid = 0;
if (p.gewenstid) { this.wensid = p.gewenstid; } if (p.gewenstid) { this.wensid = p.gewenstid; }
this.scoretype = p.scoretype; this.scoretype = p.scoretype;
this.disabled = p.disabled; this.disabled = p.disabled;
this.disablentv = p.disablenvt; this.disablentv = p.disablenvt;
this.huidig = ko.observable( p.huidig); this.huidig = ko.observable(p.huidig);
if(p.disabled == 'T' || p.disablenvt == 'T') this.huidig(5) if (p.disabled == 'T' || p.disablenvt == 'T') this.huidig(5)
this.gewenst = ko.observable(3);
if (p.gewenst) {
this.gewenst(p.gewenst)
}
if (p.disabled == 'T' || p.disablenvt == 'T') this.gewenst(5)
this.nummer = p.nummer;
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
this.aantalscholen = p.aantalscholen;
// observable is niet nodig maar dit was eerst een computed }
this.gewenst = ko.observable(3); function fAddAdvies(a) {
if (p.gewenst) {this.gewenst(p.gewenst)}; this.nummer = a.nummer;
if(p.disabled == 'T' || p.disablenvt == 'T') this.gewenst(5) this.omschrijving = a.omschrijving;
}
this.nummer = p.nummer;
this.omschrijving = p.omschrijving;
this.toelichting = p.toelichting;
this.aantalscholen = p.aantalscholen;
function fIcoon(afbeelding) {
this.afbeelding = ko.observable(afbeelding);
} }
if (ls.OntwikkelModel !== undefined){ if (ls.OntwikkelModel !== undefined){
@@ -127,7 +133,7 @@ ls.initOntwikkelModel = function(){
orgversions : ko.observableArray([]), orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''), selectedOrgversion : ko.observable(''),
selectedUser : ko.observable(''), selectedUser : ko.observable(''),
// ijkpunten : ko.observableArray([]), instrument : ko.observable(''),
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!! versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
results : ko.observableArray([]), results : ko.observableArray([]),
writeOK : ko.observable(false), writeOK : ko.observable(false),
@@ -137,32 +143,92 @@ ls.initOntwikkelModel = function(){
ingevuld : ko.observable(false), ingevuld : ko.observable(false),
bezig : ko.observable(false), bezig : ko.observable(false),
verberg : ko.observable(false), verberg : ko.observable(false),
drag_start_index0 : ko.observable(0),
drag_target_index0 : ko.observable(0),
drag_start_index1 : ko.observable(0),
drag_target_index1 : ko.observable(0),
drag_start_index2 : ko.observable(0),
drag_target_index2 : ko.observable(0),
drag_start_index3 : ko.observable(0),
drag_target_index3 : ko.observable(0),
drag_start_index4 : ko.observable(0),
drag_target_index4 : ko.observable(0),
selectedAgenda : ko.observable('standaard'),
geentoegang : ko.observable(false),
orgversie : ko.observable(0),
adviezen : ko.observableArray(),
dragging0 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index0() >= 0;
}
}),
dragging1 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index1() >= 0;
}
}),
dragging2 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index2() >= 0;
}
}),
dragging3 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index3() >= 0;
}
}),
dragging4 : ko.computed(function() {
if(ls.OntwikkelModel) {
return ls.OntwikkelModel.drag_start_index4() >= 0;
}
}),
basisACC : ko.observableArray([new fIcoon("acceptGrijs"), new fIcoon("acceptRood"), new fIcoon("acceptOranje"), new fIcoon("acceptGroen"), new fIcoon("acceptBlauw")]),
acceptaties : ko.observableArray([new fIcoon("acceptGrijs"), new fIcoon("leeg"), new fIcoon("leeg"), new fIcoon("leeg"), new fIcoon("leeg")]),
basisBTR : ko.observableArray([new fIcoon("samenGrijs"), new fIcoon("samenRood"), new fIcoon("samenOranje"), new fIcoon("samenGroen"), new fIcoon("samenBlauw")]),
betrokkenen : ko.observableArray(),
basisDIF : ko.observableArray([new fIcoon("diffGrijs"), new fIcoon("diffRood"), new fIcoon("diffOranje"), new fIcoon("diffGroen"), new fIcoon("diffBlauw")]),
diffs : ko.observableArray(),
basisEXT : ko.observableArray([new fIcoon("extraGrijs"), new fIcoon("extraRood"), new fIcoon("extraOranje"), new fIcoon("extraGroen"), new fIcoon("extraBlauw")]),
extras : ko.observableArray(),
basisOMG : ko.observableArray([new fIcoon("omgevingGrijs"), new fIcoon("omgevingRood"), new fIcoon("omgevingOranje"), new fIcoon("omgevingGroen"), new fIcoon("omgevingBlauw")]),
omgevingen : ko.observableArray(),
initBindings :function(){ initBindings :function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
if (!ko.dataFor(document.getElementById('pagontwikkel')) ) { if (!ko.dataFor(document.getElementById('pagontwikkel')) ) {
ko.applyBindings(ls.OntwikkelModel, document.getElementById("pagontwikkel")); ko.applyBindings(ls.OntwikkelModel, document.getElementById("pagontwikkel"));
} }
$.post("index.php/monpas/rapijkpunten/checkLevel", function(data){
if(data){
if(data === 1)
self.level123(true);
}
$.post("index.php/monpas/rapontwikkel/getModule", function(result){
if(result){
self.instrument(result);
if(self.instrument() == '730'){
self.selectedAgenda('dragdrop')
}
}
self.fGetOrganisaties();
},'json')
},'json')
self.initModel(); self.initModel();
}, },
initModel: function() { initModel: function() {
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
console.log('nu hier') console.log('nu hier')
$.post("index.php/monpas/rapijkpunten/checkLevel", function(data){
if(data){
if(data === 1)
self.level123(true);
}
self.fGetOrganisaties();
},'json')
}, },
fGetOrganisaties: function(){ fGetOrganisaties: function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
self.toporg(''); self.toporg('');
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){ $.post("index.php/monpas/rapijkpunten/getorgs", function(data){
self.bezig(true); self.bezig(true);
if (data.organisatie){ if (data.organisatie){
@@ -181,8 +247,6 @@ ls.initOntwikkelModel = function(){
self.usernivo(result); self.usernivo(result);
self.selectedOrg(self.toporg()); self.selectedOrg(self.toporg());
self.fGetWriteAutorisatie(self.fSwitchLevel()); self.fGetWriteAutorisatie(self.fSwitchLevel());
},'json'); },'json');
} // if } // if
self.bezig(false); self.bezig(false);
@@ -194,8 +258,6 @@ ls.initOntwikkelModel = function(){
if(self.selectedUser()){ if(self.selectedUser()){
user = self.selectedUser().id; user = self.selectedUser().id;
} }
var submitData = {'orgsoort' : self.selectedOrg().soort, var submitData = {'orgsoort' : self.selectedOrg().soort,
'orgid' : self.selectedOrg().id, 'orgid' : self.selectedOrg().id,
'user' : user } 'user' : user }
@@ -203,16 +265,15 @@ ls.initOntwikkelModel = function(){
self.writeOK(result); self.writeOK(result);
if(typeof callback ==='function' && callback()){ if(typeof callback ==='function' && callback()){
callback(); callback();
} }
},'json'); },'json');
}, },
fToggleGeopend: function(){ fToggleGeopend: function(){
this.geopend(!this.geopend()); this.geopend(!this.geopend());
}, },
fUpdateGewenst: function(num){ fUpdateGewenst: function(num){
var self=ls.OntwikkelModel; var self=ls.OntwikkelModel;
if(this.huidig() != 5 ) this.gewenst(num); if(this.huidig() != 5 ) this.gewenst(num);
@@ -262,14 +323,13 @@ ls.initOntwikkelModel = function(){
self.selectedOrgversion("") self.selectedOrgversion("")
} }
if(self.selectedOrgversion().soort == '4' && self.selectedOrgversion().vorm == '2' && self. usernivo() <= 1){ if(self.orgsoort()== '4' && self.selectedOrgversion().vorm == '2' && self. usernivo() <= 1){
self.verberg(false); self.verberg(false);
} }
else{ else{
self.verberg(true); self.verberg(true);
} }
if (self.selectedOrgversion().vorm === '1' && self.writeOK()) self.wijzigRecht(true); if (self.selectedOrgversion().vorm === '1' && self.writeOK()) self.wijzigRecht(true);
if (self.selectedOrgversion().vorm === '2' && self.eigenLijst()) self.wijzigRecht(true); if (self.selectedOrgversion().vorm === '2' && self.eigenLijst()) self.wijzigRecht(true);
if (self.selectedOrgversion().vorm === '2' && self.writeOK() && if (self.selectedOrgversion().vorm === '2' && self.writeOK() &&
@@ -313,7 +373,6 @@ ls.initOntwikkelModel = function(){
},'json'); // post },'json'); // post
}, },
fChangeVersion2: function(){ fChangeVersion2: function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
if (self.selectedOrgversion() == undefined) return; if (self.selectedOrgversion() == undefined) return;
@@ -333,8 +392,6 @@ ls.initOntwikkelModel = function(){
self.fCheckEigenLijst(); self.fCheckEigenLijst();
self.fGetUserScores(); self.fGetUserScores();
} }
} }
else { else {
@@ -348,29 +405,169 @@ ls.initOntwikkelModel = function(){
fHaalOrgScoresOp: function(){ fHaalOrgScoresOp: function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
self.ingevuld(false); self.ingevuld(false);
if(self.geentoegang() && self.orgversie() == self.selectedOrgversion().id ) return;
if (self.selectedOrgversion() == undefined) return; if (self.selectedOrgversion() == undefined) return;
self.orgversie(self.selectedOrgversion().id)
self.geentoegang(true)
var submitData = {orgversieid : self.selectedOrgversion().id, var submitData = {orgversieid : self.selectedOrgversion().id,
orgid : self.selectedOrg().id orgid : self.selectedOrg().id
} }
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){ $.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
self.results.removeAll(); self.results.removeAll();
self.adviezen.removeAll();
if (data){ if (data){
$.each(data.scores, function(i,p){ $.each(data.scores, function(i,p){
self.results.push(new fAddResult(p)); self.results.push(new fAddResult(p));
self.ingevuld(true); self.ingevuld(true);
}) })
self.fGetWriteAutorisatie();
$.each(data.scores, function(z,s){
switch(Number(s.nummer)) {
case 1: self.fVulAcceptaties(s.gewenst);
break;
case 2: self.fVulBetrokkenen(s.gewenst);
break;
case 3: self.fVulDiffs(s.gewenst);
break;
case 4: self.fVulExtras(s.gewenst);
break;
case 5: self.fVulOmgevingen(s.gewenst);
break;
}
})
self.fGetWriteAutorisatie();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push( new fAddAdvies(p));
}
})
} }
},'json'); },'json');
}, },
fVulAcceptaties: function(gewenst){
var self = ls.OntwikkelModel;
// self.acceptaties.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.acceptaties([new fIcoon('acceptGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.acceptaties([new fIcoon('leeg'), new fIcoon('acceptRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.acceptaties([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('acceptOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.acceptaties([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('acceptGroen'), new fIcoon('leeg')]);
break;
case 4: self.acceptaties([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('acceptBlauw')]);
break;
}
},
fVulBetrokkenen: function(gewenst){
var self = ls.OntwikkelModel;
self.betrokkenen.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.betrokkenen([new fIcoon('samenGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.betrokkenen([new fIcoon('leeg'), new fIcoon('samenRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.betrokkenen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('samenOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.betrokkenen([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('samenGroen'), new fIcoon('leeg')]);
break;
case 4: self.betrokkenen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('samenBlauw')]);
break;
}
},
fVulDiffs: function(gewenst){
var self = ls.OntwikkelModel;
self.diffs.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.diffs([new fIcoon('diffGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.diffs([new fIcoon('leeg'), new fIcoon('diffRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.diffs([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('diffOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.diffs([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('diffGroen'), new fIcoon('leeg')]);
break;
case 4: self.diffs([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('diffBlauw')]);
break;
}
},
fVulExtras: function(gewenst){
var self = ls.OntwikkelModel;
self.extras.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.extras([new fIcoon('extraGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.extras([new fIcoon('leeg'), new fIcoon('extraRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.extras([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('extraOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.extras([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('extraGroen'), new fIcoon('leeg')]);
break;
case 4: self.extras([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('extraBlauw')]);
break;
}
},
fVulOmgevingen: function(gewenst){
var self = ls.OntwikkelModel;
self.omgevingen.removeAll();
let streven = gewenst;
if(Number(gewenst) === 5) streven = 0;
switch(Number(streven)){
case 0: self.omgevingen([new fIcoon('omgevingGrijs'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 1: self.omgevingen([new fIcoon('leeg'), new fIcoon('omgevingRood'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 2: self.omgevingen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('omgevingOranje'), new fIcoon('leeg'), new fIcoon('leeg')]);
break;
case 3: self.omgevingen([new fIcoon('leeg'),new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('omgevingGroen'), new fIcoon('leeg')]);
break;
case 4: self.omgevingen([new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'), new fIcoon('leeg'),new fIcoon('omgevingBlauw')]);
break;
}
// for(let i = 0; i< 5; i++){
// if(i=== streven){
// switch(streven){
// case 0: self.omgevingen.push(new fIcoon('omgevingGrijs'));
// break;
// case 1: self.omgevingen.push(new fIcoon('omgevingRood'));
// break;
// case 2: self.omgevingen.push(new fIcoon('omgevingOranje'));
// break;
// case 3: self.omgevingen.push(new fIcoon('omgevingGroen'));
// break;
// case 4: self.omgevingen.push(new fIcoon('omgevingBlauw'));
// break;
//
// }
// }
// else{
// self.omgevingen.push(new fIcoon('leeg'))
// }
// }
},
fGetUserScores: function(){ fGetUserScores: function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
self.results.removeAll(); self.results.removeAll();
@@ -390,13 +587,34 @@ ls.initOntwikkelModel = function(){
orgid : self.selectedOrg().id, orgid : self.selectedOrg().id,
orgversie : self.selectedOrgversion().id} orgversie : self.selectedOrgversion().id}
$.post("index.php/monpas/rapontwikkel/scoresindividueel" , submitData, function(data){ $.post("index.php/monpas/rapontwikkel/scoresindividueel" , submitData, function(data){
self.adviezen.removeAll();
if (data){ if (data){
$.each(data.scores, function(i,p){ $.each(data.scores, function(i,p){
self.results.push(new fAddResult(p)); self.results.push(new fAddResult(p));
self.ingevuld(true); self.ingevuld(true);
}) })
$.each(data.scores, function(z,s){
switch(Number(s.nummer)) {
case 1: self.fVulAcceptaties(s.gewenst);
break;
case 2: self.fVulBetrokkenen(s.gewenst);
break;
case 3: self.fVulDiffs(s.gewenst);
break;
case 4: self.fVulExtras(s.gewenst);
break;
case 5: self.fVulOmgevingen(s.gewenst);
break;
}
})
} }
self.fCheckEigenLijst(); self.fCheckEigenLijst();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push( new fAddAdvies(p));
}
})
},'json'); },'json');
} }
else { else {
@@ -432,32 +650,246 @@ ls.initOntwikkelModel = function(){
var self=ls.OntwikkelModel; var self=ls.OntwikkelModel;
var orguserid = 0; var orguserid = 0;
if(self.eigenLijst()){ if(self.eigenLijst()){
orguserid = self.selectedUser().orguserid; orguserid = self.selectedUser().orguserid;
} }
var wensarray = []; var wensarray = [];
$.each(self.results() , function(i,p){
wensarray[i]={ 'ijkpuntid' : p.ijkpuntid, if(self.selectedAgenda()==='standaard') {
'wensid' : p.wensid, $.each(self.results(), function (i, p) {
'gewenst' : p.gewenst() }; wensarray[i] = {
'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': p.gewenst()
};
});
}
if(self.selectedAgenda()==='dragdrop') {
$.each(self.results(), function (i, p) {
switch(Number(p.nummer)) {
case 1: $.each(self.acceptaties(), function (x, a) {
if (a.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': x})
}
});
break;
case 2: $.each(self.betrokkenen(), function (z, b) {
if (b.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': z})
}
});
break;
case 3: $.each(self.diffs(), function (s, d) {
if (d.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': s})
}
});
break;
case 4: $.each(self.extras(), function (g, x) {
if (x.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': g})
}
});
break;
case 5: $.each(self.omgevingen(), function (f, m) {
if (m.afbeelding() !== 'leeg') {
wensarray.push({'ijkpuntid': p.ijkpuntid,
'wensid': p.wensid,
'gewenst': f})
}
});
break;
}
})
}
//
// return;
});
var submitData= { 'wensarray' : wensarray, var submitData= { 'wensarray' : wensarray,
'orgid' : self.selectedOrg().id, 'orgid' : self.selectedOrg().id,
'orgversionid' : self.selectedOrgversion().id, 'orgversionid' : self.selectedOrgversion().id,
'orguserid' : orguserid} 'orguserid' : orguserid}
$.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){ $.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){
if (wensids){
$.each(self.results(), function(i,p){ self.adviezen.removeAll();
if (p.wensid == 0){ p.wensid = wensids[i]; } $.each(self.results(), function(i,p){
}); // each if(p.gewenst() && p.huidig() < p.gewenst()) {
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600); self.adviezen.push(new fAddAdvies(p));
};// If wensids }
},'json') ; })
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600);
;// If wensids
},'json')
}, },
fPrintOntwikkelmatrix: function(){
fDragstart: function( event, index, parent){
var self= ls.OntwikkelModel;
$(event.target).addClass('dragSource')
switch(parent){
case 'ACC': if(self.results()[0] && self.results()[0].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index0(index);
break;
case 'BTR': if(self.results()[1] && self.results()[1].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index1(index);
break;
case 'DIF': if(self.results()[2] && self.results()[2].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index2(index);
break;
case 'EXT': if(self.results()[3] && self.results()[3].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index3(index);
break;
case 'OMG': if(self.results()[4] && self.results()[4].disabled=== 'T') {
apprise("Dit ijkpunt is uitgezet.");
return;}
else self.drag_start_index4(index);
break;
}
return $(event.target).hasClass('draggable');
},
fDragend: function( event, index, parent){
var self= ls.OntwikkelModel;
switch(parent){
case 'ACC': self.drag_start_index0(-1);
break;
case 'BTR': self.drag_start_index1(-1);
break;
case 'DIF': self.drag_start_index2(-1);
break;
case 'EXT': self.drag_start_index3(-1);
break;
case 'OMG': self.drag_start_index4(-1);
break;
}
$(event.target).removeClass('dragSource')
return true;
},
fDragover: function( event){
event.preventDefault();
},
fDragenter: function( event, index, parent){
var self= ls.OntwikkelModel;
switch(parent){
case 'ACC': self.drag_target_index0(index);
break;
case 'BTR': self.drag_target_index1(index);
break;
case 'DIF': self.drag_target_index2(index);
break;
case 'EXT': self.drag_target_index3(index);
break;
case 'OMG': self.drag_target_index4(index);
break;
}
var element = $(event.target)
if(element.hasClass('draggable'))
element.toggleClass('dragover');
event.preventDefault();
},
fDragleave: function( event){
var element = $(event.target)
if(element.hasClass('draggable'))
element.toggleClass('dragover');
event.preventDefault();
},
fDrop: function( event, index, parent){
var self= ls.OntwikkelModel;
$(event.target).removeClass('dragover');
switch(parent){
case 'ACC': self.fWissel(self.drag_start_index0(), self.drag_target_index0(), 'ACC')
break;
case 'BTR': self.fWissel(self.drag_start_index1(), self.drag_target_index1(), 'BTR')
break;
case 'DIF': self.fWissel(self.drag_start_index2(), self.drag_target_index2(), 'DIF')
break;
case 'EXT': self.fWissel(self.drag_start_index3(), self.drag_target_index3(), 'EXT')
break;
case 'OMG': self.fWissel(self.drag_start_index4(), self.drag_target_index4(), 'OMG')
break;
}
},
fWissel : function(from, to, parent) {
var self = ls.OntwikkelModel;
switch(parent){
case 'ACC': if (to > self.acceptaties().length - 1 || to < 0) return;
var fromObj = self.basisACC()[to];
var toObj = self.acceptaties()[to];
self.acceptaties()[from] = toObj;
self.acceptaties()[to] = fromObj;
self.acceptaties.valueHasMutated();
break;
case 'BTR': if (to > self.betrokkenen().length - 1 || to < 0) return;
var fromObj = self.basisBTR()[to];
var toObj = self.betrokkenen()[to];
self.betrokkenen()[from] = toObj;
self.betrokkenen()[to] = fromObj;
self.betrokkenen.valueHasMutated();
break;
case 'DIF': if (to > self.diffs().length - 1 || to < 0) return;
var fromObj = self.basisDIF()[to];
var toObj = self.diffs()[to];
self.diffs()[from] = toObj;
self.diffs()[to] = fromObj;
self.diffs.valueHasMutated();
break;
case 'EXT': if (to > self.extras().length - 1 || to < 0) return;
var fromObj = self.basisEXT()[to];
var toObj = self.extras()[to];
self.extras()[from] = toObj;
self.extras()[to] = fromObj;
self.extras.valueHasMutated();
break;
case 'OMG': if (to > self.omgevingen().length - 1 || to < 0) return;
var fromObj = self.basisOMG()[to];
var toObj = self.omgevingen()[to];
self.omgevingen()[from] = toObj;
self.omgevingen()[to] = fromObj;
self.omgevingen.valueHasMutated();
break;
}
},
fPrintOntwikkelmatrixOUD: function(){
var self = ls.OntwikkelModel; var self = ls.OntwikkelModel;
var orgid = self.selectedOrg().id; var orgid = self.selectedOrg().id;
var orgversieid = self.selectedOrgversion().id; var orgversieid = self.selectedOrgversion().id;
@@ -476,20 +908,22 @@ ls.initOntwikkelModel = function(){
"user" : self.selectedUser() ? self.selectedUser().usernaam : ''} "user" : self.selectedUser() ? self.selectedUser().usernaam : ''}
var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data); var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl); window.open(submitUrl);
},
fPrintOntwikkelmatrix: function(){
var self = ls.OntwikkelModel;
var orgid = self.selectedOrg().id;
var orgversieid = self.selectedOrgversion().id;
var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data);
window.open(submitUrl);
} }
} ; // definition van model } ; // definition van model
ls.OntwikkelModel.initBindings(); ls.OntwikkelModel.initBindings();
// ls.OntwikkelModel.wijzigRecht = ko.pureComputed(function () { //
// var self = ls.OntwikkelModel;
// if(!self.ingevuld()) return 'Verberg';
// if(self.selectedOrgversion().vorm == 1 && self.writeOK()) return 'Toon';
// if(self.selectedOrgversion().vorm == 2 && self.eigenLijst()) return 'Toon';
// if(self.selectedOrgversion().vorm == 2 && self.writeOK() && self.selectedUser() == undefined) return 'Toon';
// return 'Verberg';
//
// });
}; // else }; // else
}// function initOntwikkelModel }// function initOntwikkelModel
+8
View File
@@ -112,6 +112,10 @@ $(function(){
fMaakNieuweVersie: function(){ fMaakNieuweVersie: function(){
var self = ls.VersiesModel; var self = ls.VersiesModel;
self.newVersieNaam(''); self.newVersieNaam('');
if(Number(self.selectedModule().sysnr) == 730) apprise("Dit instrument heeft in de ontwikkelagenda iconen voor de ijkpunten: " +
"Acceptatie, Betrokken leerlingen en ouders, Differentiatie, Extra ondersteuning en Fysieke omgeving. " +
"Neem contact op met de helpdesk als andere iconen nodig zijn. ");
$("#modNieuweVersie").modal('show'); $("#modNieuweVersie").modal('show');
}, },
fUpdateVersie: function(){ fUpdateVersie: function(){
@@ -180,6 +184,10 @@ $(function(){
if (i >= 0) { if (i >= 0) {
num = self.ijkpunten()[i].nummer(); num = self.ijkpunten()[i].nummer();
}; };
if(Number(self.selectedModule().sysnr) == 730 && self.ijkpunten().length > 4){
apprise("Neem contact op met de helpdesk om iconen aan de ontwikkelagenda toe te voegen.");
}
self.newIJkpunt().nummer(parseInt(num)+ 1); self.newIJkpunt().nummer(parseInt(num)+ 1);
self.newIJkpunt().naam(''); self.newIJkpunt().naam('');
self.newIJkpunt().toelichting(''); self.newIJkpunt().toelichting('');