96 Commits
Author SHA1 Message Date
Monique 613be7d744 Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-14 12:37:59 +01:00
Monique eee1c2091c mogelijkheid verbergen deelbudgetten
per jaartal te bepalen in in MonFin
in bestemmingen geen deelbudgetten als het is uitgezet en dan uitgaven niet in rode kleur
foutmeldingen ivm order by en group by kolommen die niet in select stonden
tooltips bij archieveren, activeren en verwijderen onddersteuningsvormen in mondiv
2026-02-14 12:37:47 +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 48f3a9a7ff sommen parseInt, groepen filteren op schooljaar 2026-02-05 18:52:58 +01:00
Monique 1e91e3b69d Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-03 18:41:13 +01:00
Monique e265e257b8 nieuwe onderst. vorm ook opslaan als aantal 0 is 2026-02-03 18:40:55 +01:00
Monique bf34f295a5 Merge branch 'feature/archiefoptie-ondersteuningsvorm' into develop 2026-02-03 14:33:50 +01:00
Monique c35552cc66 optie om ondersteuningsvorm per groep te archiveren
+ dearchiveren
2026-02-03 14:33:32 +01:00
Monique 18adc43311 Merge branch 'mon-fin-rodekleurverw' into develop 2025-03-11 13:08:52 +01:00
Monique 6e6d1af59b Merge branch 'mon-fin-rodekleurverw' 2025-03-11 13:06:27 +01:00
Monique c526c48446 overzicht mon fin 2025-03-11 13:04:54 +01:00
Monique c8fb85e2d1 verise 2025-03-10 16:22:16 +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
48 changed files with 2158 additions and 450 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;
+57 -50
View File
@@ -4,7 +4,7 @@ use Mailgun\Mailgun;
use \Sonata\GoogleAuthenticator\GoogleAuthenticator; use \Sonata\GoogleAuthenticator\GoogleAuthenticator;
class Login extends MY_Controller { class Login extends MY_Controller {
function __construct() function __construct()
{ {
@@ -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,16 +110,23 @@ 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);
$subject = "Inlogcode MonPas"; $subject = "Inlogcode MonPas";
$data = ['fullname'=>$fullname, $data = ['fullname'=>$fullname,
'code' => $code]; 'code' => $code];
$html = $this->load->view('emails/twofactor_mail', $data, TRUE); $html = $this->load->view('emails/twofactor_mail', $data, TRUE);
$error = $this->Mail_model->sendTheEmail($user->email, $subject, $html, "rfranke@framework-ed.nl"); $error = $this->Mail_model->sendTheEmail($user->email, $subject, $html, "rfranke@framework-ed.nl");
if ($error=='Success') $error = false; if ($error=='Success') $error = false;
return $error; return $error;
} }
@@ -135,7 +142,7 @@ class Login extends MY_Controller {
$code .= rand(1,9); $code .= rand(1,9);
} }
$asString = time(); $asString = time();
$this->Users_model->update_record(['twofactorcode' =>$code, 'twofactortime'=>$asString ],$userID); $this->Users_model->update_record(['twofactorcode' =>$code, 'twofactortime'=>$asString ],$userID);
return $code; return $code;
} }
@@ -152,10 +159,10 @@ class Login extends MY_Controller {
else { else {
$message = $this->checkTwoFactorEmail($user,$code); $message = $this->checkTwoFactorEmail($user,$code);
} }
if (! $message) $this->login_user( $tmpuserid ); if (! $message) $this->login_user( $tmpuserid );
$this->json($message); $this->json($message);
} }
function checkTwoFactorEmail($user,$code){ function checkTwoFactorEmail($user,$code){
$message = false; $message = false;
@@ -148,7 +148,7 @@ class Monfin2overzicht extends MY_Controller{
$personeel = empty($subsoort->uitgavetypes[1]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[1]->bedrag); $personeel = empty($subsoort->uitgavetypes[1]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[1]->bedrag);
$materieel = empty($subsoort->uitgavetypes[2]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[2]->bedrag); $materieel = empty($subsoort->uitgavetypes[2]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[2]->bedrag);
$scholing = empty($subsoort->uitgavetypes[3]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[3]->bedrag); $scholing = empty($subsoort->uitgavetypes[3]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[3]->bedrag);
$totaal = empty($subsoort->uitgavetypes[0]->bedrag) || floatval($subsoort->uitgavetypes[0]->bedrag) == 0 ? $personeel + $materieel + $scholing : floatval($subsoort->uitgavetypes[0]->bedrag); $totaal = $personeel + $materieel + $scholing;
$subsoort->uitgavetypes[0]->bedragform = $totaal == 0 ? '': number_format($totaal, 0, ',', '.'); $subsoort->uitgavetypes[0]->bedragform = $totaal == 0 ? '': number_format($totaal, 0, ',', '.');
$subsoort->uitgavetypes[0]->bedrag = $totaal == 0 ? '': number_format($totaal, 2, '.', ''); $subsoort->uitgavetypes[0]->bedrag = $totaal == 0 ? '': number_format($totaal, 2, '.', '');
$subsoort->uitgavetypes[1]->bedragform = $personeel == 0 ? '': number_format($personeel, 0, ',', '.'); $subsoort->uitgavetypes[1]->bedragform = $personeel == 0 ? '': number_format($personeel, 0, ',', '.');
@@ -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) {
+148 -31
View File
@@ -40,7 +40,12 @@ class Groepen extends MY_Controller{
if ($groepinfo->ondersteuningsvormen){ if ($groepinfo->ondersteuningsvormen){
foreach($groepinfo->ondersteuningsvormen as $ondersteuningsvorm){ foreach($groepinfo->ondersteuningsvormen as $ondersteuningsvorm){
$ondersteuningsvorm->aantal =0; $ondersteuningsvorm->aantal = 0;
$ondersteuningsvorm->archief = 'F';
// Voor nieuwe groep (id = null) moeten we kijken of de ondersteuningsvorm bij andere groepen gebruikt wordt
// We gebruiken 0 omdat de query groep_id <> {$groepid} gebruikt, en een nieuwe groep heeft geen id
$gebruikt = $this->Aantalxondersteuningsvorm_model->aantalGebruikt($orgid, 0, $ondersteuningsvorm->id);
$ondersteuningsvorm->gebruikt = $gebruikt > 0 ? 'T' : 'F';
} }
} }
echo json_encode($groepinfo); echo json_encode($groepinfo);
@@ -63,10 +68,19 @@ class Groepen extends MY_Controller{
$groep->ondersteuningsvormen = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo); $groep->ondersteuningsvormen = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo);
if ($groep->ondersteuningsvormen){ if ($groep->ondersteuningsvormen){
foreach($groep->ondersteuningsvormen as $ondersteuningsvorm){ foreach($groep->ondersteuningsvormen as $ondersteuningsvorm){
// hier get aantal $aantal = 0;
$ax = $this->Aantalxondersteuningsvorm_model->getaantal($groepid, $ondersteuningsvorm->id); $archief = 'F';
if ($ax){ $ondersteuningsvorm->aantal = $ax->aantal; } $details = $this->Aantalxondersteuningsvorm_model->getdetails($groepid, $ondersteuningsvorm->id);
else{ $ondersteuningsvorm->aantal =0; }; if($details) {
if ($details->aantal) $aantal = $details->aantal;
if ($details->archief) $archief = $details->archief;
}
$ondersteuningsvorm->aantal = $aantal;
$ondersteuningsvorm->archief = $archief;
$gebruikt = $this->Aantalxondersteuningsvorm_model->aantalGebruikt($orgid, $groepid, $ondersteuningsvorm->id);
$ondersteuningsvorm->gebruikt = $gebruikt > 0 ? 'T' : 'F';
} }
} }
echo json_encode($groep); echo json_encode($groep);
@@ -126,53 +140,122 @@ class Groepen extends MY_Controller{
echo json_encode($groep); echo json_encode($groep);
} }
function insertorupdateOS(){ function insertorupdateOS(){
//TODO clean input //TODO clean input
if(!$this->userid) die; if(!$this->userid) die;
$osid = $this->clean_input('id');
$orgid = $this->clean_input("orgid"); $osid = $this->clean_input('id');
$aantal = $this->clean_input('aantal'); $orgid = $this->clean_input("orgid");
if (($osid == 0 || $osid == null) &&($aantal > 0)) { $aantal = $this->clean_input('aantal');
$data=array("organisatie_id" => $orgid, $archief = $this->clean_input('archief');
"naam" => $this->clean_input("naam"),
"nivo" => $this->clean_input('nivo') if ($archief !== 'T') $archief = 'F';
// && ($aantal > 0)
if (($osid == 0 || $osid == null) ) {
$data = array(
"organisatie_id" => $orgid,
"naam" => $this->clean_input("naam"),
"nivo" => $this->clean_input('nivo')
); );
$osid = $this->Ondersteuningsvormen_model->insert_record($data); $osid = $this->Ondersteuningsvormen_model->insert_record($data);
} }
else { else {
if ($orgid > 0){ if ($orgid > 0){
$data=array("naam" => $this->clean_input('naam')); $data = array("naam" => $this->clean_input('naam'));
$this->Ondersteuningsvormen_model->update_record($data, $osid); $this->Ondersteuningsvormen_model->update_record($data, $osid);
} }
// update name // update name
} }
$data2= array("organisatie_id" => $orgid,
"groep_id" => $this->clean_input('groepid'), $data2 = array(
"ondersteuningsvorm_id" => $osid); "organisatie_id" => $orgid,
$aos =$this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE); "groep_id" => $this->clean_input('groepid'),
"ondersteuningsvorm_id" => $osid
);
$aos = $this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE);
if($aos){ if($aos){
if ($this->clean_input('aantal') == 0) { // if ($aantal == 0 && $archief !== 'T') {
//delete de regel // // delete alleen als het niet gearchiveerd is
$this->Aantalxondersteuningsvorm_model->delete_record($aos->id); // $this->Aantalxondersteuningsvorm_model->delete_record($aos->id);
} // }
else {
// update de regel
$data=array( "aantal" => $this->clean_input('aantal') ); // update de regel (ook archief opslaan)
$data = array(
"aantal" => $aantal,
"archief" => $archief
);
$this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id); $this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id);
}
} }
else{ else{
if ($this->clean_input('aantal') > 0){ // record bestaat nog niet: maak hem aan als er aantal > 0 is OF als het archief is
$data = array( "organisatie_id" => $orgid, // if ($aantal > 0 || $archief === 'T'){
"groep_id" => $this->clean_input('groepid'), $data = array(
"ondersteuningsvorm_id" => $osid, "organisatie_id" => $orgid,
"aantal" => $this->clean_input('aantal')); "groep_id" => $this->clean_input('groepid'),
"ondersteuningsvorm_id" => $osid,
"aantal" => $aantal,
"archief" => $archief
);
$aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data); $aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
} // }
} }
echo json_encode($osid); echo json_encode($osid);
} }
// function insertorupdateOS(){
// //TODO clean input
// if(!$this->userid) die;
// $osid = $this->clean_input('id');
// $orgid = $this->clean_input("orgid");
// $aantal = $this->clean_input('aantal');
// if (($osid == 0 || $osid == null) &&($aantal > 0)) {
// $data=array("organisatie_id" => $orgid,
// "naam" => $this->clean_input("naam"),
// "nivo" => $this->clean_input('nivo')
// );
// $osid = $this->Ondersteuningsvormen_model->insert_record($data);
// }
// else {
// if ($orgid > 0){
// $data=array("naam" => $this->clean_input('naam'));
// $this->Ondersteuningsvormen_model->update_record($data, $osid);
// }
// // update name
// }
// $data2= array("organisatie_id" => $orgid,
// "groep_id" => $this->clean_input('groepid'),
// "ondersteuningsvorm_id" => $osid);
// $aos =$this->Aantalxondersteuningsvorm_model->get_records_where($data2, TRUE);
// if($aos){
// if ($this->clean_input('aantal') == 0) {
// //delete de regel
// $this->Aantalxondersteuningsvorm_model->delete_record($aos->id);
// }
// else {
// // update de regel
// $data=array( "aantal" => $this->clean_input('aantal') );
// $this->Aantalxondersteuningsvorm_model->update_record($data, $aos->id);
// }
// }
// else{
// if ($this->clean_input('aantal') > 0){
// $data = array( "organisatie_id" => $orgid,
// "groep_id" => $this->clean_input('groepid'),
// "ondersteuningsvorm_id" => $osid,
// "aantal" => $this->clean_input('aantal'));
// $aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
// }
// }
// echo json_encode($osid);
// }
function getgroepen(){ function getgroepen(){
if (!$this->userid) die; if (!$this->userid) die;
$orgid = $this->clean_input('schoolID'); $orgid = $this->clean_input('schoolID');
@@ -240,6 +323,40 @@ class Groepen extends MY_Controller{
$this->Aantalxondersteuningsvorm_model->delete_record_where(array("ondersteuningsvorm_id" => $osid)); $this->Aantalxondersteuningsvorm_model->delete_record_where(array("ondersteuningsvorm_id" => $osid));
$this->Ondersteuningsvormen_model->delete_record($osid); $this->Ondersteuningsvormen_model->delete_record($osid);
} }
function archiveerOS(){
if (!$this->userid) die;
if (!$this->writer) return;
$vormID = $this->clean_input('vormID');
$groepID = $this->clean_input('groepID');
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'T', "aantal"=> 0], $axovID);
else $data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
function activeerOS(){
if (!$this->userid) die;
if (!$this->writer) return;
$vormID = $this->clean_input('vormID');
$groepID = $this->clean_input('groepID');
$orgID = $this->clean_input('orgID');
$axovID =$this->Aantalxondersteuningsvorm_model->get_fieldvalue(["ondersteuningsvorm_id"=> $vormID, "groep_id" => $groepID], "id");
if ($axovID) $this->Aantalxondersteuningsvorm_model->update_record(["archief"=> 'F'], $axovID);
else $data = [ 'organisatie_id' => $orgID,
'groep_id' => $groepID,
'ondersteuningsvorm_id' => $vormID,
'archief' => 'T',
'aantal' => 0];
$newid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
function getwriter(){ function getwriter(){
$writer = false; $writer = false;
if ($this->Autorisaties_model->check_autorisatie($this->userrole, 259) > 0){$writer = true;}; if ($this->Autorisaties_model->check_autorisatie($this->userrole, 259) > 0){$writer = true;};
@@ -25,6 +25,36 @@ class Monfinbeheer extends MY_Controller{
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) <=0) {$bedragen = array('');}; if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) <=0) {$bedragen = array('');};
echo json_encode($bedragen); echo json_encode($bedragen);
} }
function savedeelbudget(){
if (!$this->userid) die;
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) {
$id = $this->clean_input('id');
$orgID = $this->clean_input('orgid');
$jaar = $this->clean_input('jaarnr');
$deelbudgetten = $this->clean_input('deelbudgetten');
if ($id == null || $id <= 0){
$data = array(
'orgid' =>$orgID,
'kalenderjaarnr'=> $jaar,
'deelbudgetten' => $deelbudgetten
);
$newid = $this->Toewijzingen_model->insert_record($data);
}
else{
$data = array("deelbudgetten" => $deelbudgetten);
$this->Toewijzingen_model->update_record($data, $id);
$newid = $id;
}
}
else {$newid = false;}; // geen schrijfrechten
echo json_encode(intval($newid));
}
function legvast(){ function legvast(){
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) { if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) {
$id = $this->input->post('id'); $id = $this->input->post('id');
@@ -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
+7 -1
View File
@@ -99,7 +99,13 @@ class MY_Controller extends CI_Controller{
// public $version = '1.20.27';//dingen // public $version = '1.20.27';//dingen
// public $version = '1.21.00';//2factor // public $version = '1.21.00';//2factor
// public $version = '1.21.00L'; //2factor -twee // public $version = '1.21.00L'; //2factor -twee
public $version = '1.21.01M'; //verbeteringen compact sop // public $version = '1.21.01M'; //verbeteringen compact sop
// public $version = '1.21.02M '; //monfin, geen rode cijfers
// public $version = '1.21.03M '; //mondiv ondersteuningsvorm archiveren per groep
// public $version = '1.21.04M '; //mondiv ondersteuningsvorm archiveren per groep foutem hersteld
public $version = '1.21.05M '; //mondiv hovertekst, monfin budgetten verbergen
@@ -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();
} }
} }
@@ -19,14 +19,32 @@ class Aantalxondersteuningsvorm_model extends MY_Model{
AND ondersteuningsvorm_id = {$ondersteuningsvorm}"; AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
return $this->get_query_row(); return $this->get_query_row();
} }
function getaantallen($vormid, $orgid,$schooljaarnr, $groepids){
function getdetails($groepid, $ondersteuningsvorm){
$this->sql = " SELECT *
FROM tb_aantalxondersteuningsvorm
WHERE groep_id = {$groepid}
AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
return $this->get_query_row();
}
function aantalGebruikt($orgid, $groepid, $ondersteuningsvorm){
$this->sql = " SELECT SUM(aantal) AS aantal
FROM tb_aantalxondersteuningsvorm
WHERE organisatie_id = {$orgid}
AND ondersteuningsvorm_id = {$ondersteuningsvorm}
AND groep_id <> {$groepid}";
return $this->get_query_row('aantal');
}
function getaantallen($vormid, $orgid, $schooljaarnr, $groepsids){
$this->sql ="SELECT G.id, G.naam, IF(AOS.id,aantal,0) AS aantal $this->sql ="SELECT G.id, G.naam, IF(AOS.id,aantal,0) AS aantal
FROM tb_groepen G FROM tb_groepen G
LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id
AND AOS.ondersteuningsvorm_id = {$vormid}) AND AOS.ondersteuningsvorm_id = {$vormid})
WHERE G.organisatie_id = {$orgid} WHERE G.organisatie_id = {$orgid}
AND G.schooljaarnr= {$schooljaarnr} AND G.schooljaarnr = {$schooljaarnr}
AND G.id IN ({$groepids}) AND G.id IN ({$groepsids})
ORDER BY G.niveau, G.naam, G.id"; ORDER BY G.niveau, G.naam, G.id";
return $this->get_query_result(); return $this->get_query_result();
} }
@@ -64,7 +64,7 @@ class Filledversions_model extends MY_Model{
function getfilledversionsperorg($orgid, $modulenr){ function getfilledversionsperorg($orgid, $modulenr){
// om de ingevulde lijsten per school op te halen // om de ingevulde lijsten per school op te halen
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, V.naam, $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, OV.periodenummer, OV.actief, versie_id, V.naam,
OV.vorm, OV.scoretype, OV.score_omschrijving, OV.vorm, OV.scoretype, OV.score_omschrijving,
DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm,
@@ -100,7 +100,7 @@ class Filledversions_model extends MY_Model{
function gettevergelijkenschoolversies($orgids, $modulenr){ function gettevergelijkenschoolversies($orgids, $modulenr){
// om de ingevulde lijsten per school op te halen // om de ingevulde lijsten per school op te halen
$this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving, OV.periodenummer
FROM tb_filledversions FV FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id JOIN tb_versies V ON V.id =OV.versie_id
@@ -113,7 +113,7 @@ class Filledversions_model extends MY_Model{
function gettevergelijkenschoolversies1school($orgid, $modulenr){ function gettevergelijkenschoolversies1school($orgid, $modulenr){
// om de ingevulde lijsten per school op te halen // om de ingevulde lijsten per school op te halen
$this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving, OV.periodenummer
FROM tb_filledversions FV FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
JOIN tb_versies V ON V.id =OV.versie_id JOIN tb_versies V ON V.id =OV.versie_id
@@ -130,6 +130,7 @@ class Filledversions_model extends MY_Model{
function getversiesperalleorgs($idlijst, $module){ function getversiesperalleorgs($idlijst, $module){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype, vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
@@ -165,6 +166,7 @@ class Filledversions_model extends MY_Model{
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
OV.organisatie_id, periodenummer, OV.actief, versie_id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype, vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf, DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm, DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm, DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
@@ -204,7 +206,7 @@ class Filledversions_model extends MY_Model{
function checkperiode($fvid, $van, $tm){ function checkperiode($fvid, $van, $tm){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id,
FROM tb_filledversions FV FROM tb_filledversions FV
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
WHERE FV.id ={$fvid} WHERE FV.id ={$fvid}
+84 -63
View File
@@ -13,23 +13,32 @@ class Groepen_model extends MY_Model{
$this->load->model($models); $this->load->model($models);
} }
function getgroep($groepid){ function getgroep($groepid){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
GR.naam, GR.naam,
GR.totaantal, GR.totaantal,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3, COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4, COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
(totaantal - SUM(AX.aantal) ) AS som1 COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX ( GR.totaantal - (
ON GR.id = AX.groep_id COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
LEFT JOIN tb_ondersteuningsvormen OV COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
ON OV.id = AX.ondersteuningsvorm_id COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
WHERE GR.id = {$groepid} )
GROUP BY GR.id"; ) AS som1
return $this->get_query_row(); FROM tb_groepen GR
} LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.id = {$groepid}
GROUP BY GR.id";
return $this->get_query_row();
}
function getgroepenlist($orgid, $schooljaarnr, $module){ function getgroepenlist($orgid, $schooljaarnr, $module){
$this->sql = "SELECT id, naam, ondersteuning $this->sql = "SELECT id, naam, ondersteuning
FROM tb_groepen FROM tb_groepen
@@ -81,55 +90,67 @@ class Groepen_model extends MY_Model{
return $this->get_query_row('aantallln'); return $this->get_query_row('aantallln');
} }
function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
GR.ondersteuning,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),0) ) AS som1
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
function getgekopieerdegroepen($orgid, $schooljaarnr, $module){ function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
GR.naam, GR.naam,
GR.niveau, GR.niveau,
GR.totaantal, GR.totaantal,
GR.ondersteuning,
SUM(IF( nivo = 2, AX.aantal, 0)) AS som2,
SUM(IF( nivo = 3, AX.aantal, 0)) AS som3, COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
SUM(IF( nivo = 4, AX.aantal, 0)) AS som4, COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
(GR.totaantal - IF(SUM(AX.aantal) , SUM(AX.aantal),0) ) AS som1 COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX ( GR.totaantal - (
ON GR.id = AX.groep_id COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
LEFT JOIN tb_ondersteuningsvormen OV COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
ON OV.id = AX.ondersteuningsvorm_id COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
WHERE GR.organisatie_id = {$orgid} )
AND GR.schooljaarnr = {$schooljaarnr} ) AS som1
AND GR.schooltype = 'R' FROM tb_groepen GR
AND GR.module = {$module} LEFT JOIN tb_aantalxondersteuningsvorm AX
GROUP BY GR.id ON GR.id = AX.groep_id
ORDER BY niveau, naam, GR.id "; LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result(); return $this->get_query_result();
} }
function getgekopieerdegroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som2,
COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som3,
COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) AS som4,
( GR.totaantal - (
COALESCE(SUM(IF(OV.nivo = 2 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
COALESCE(SUM(IF(OV.nivo = 3 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0) +
COALESCE(SUM(IF(OV.nivo = 4 AND (AX.archief IS NULL OR AX.archief <> 'T'), AX.aantal, 0)),0)
)
) AS som1
FROM tb_groepen GR
LEFT JOIN tb_aantalxondersteuningsvorm AX
ON GR.id = AX.groep_id
LEFT JOIN tb_ondersteuningsvormen OV
ON OV.id = AX.ondersteuningsvorm_id
WHERE GR.organisatie_id = {$orgid}
AND GR.schooljaarnr = {$schooljaarnr}
AND GR.schooltype = 'R'
AND GR.module = {$module}
GROUP BY GR.id
ORDER BY niveau, naam, GR.id ";
return $this->get_query_result();
}
function getGroepenSboSo($orgid, $schooljaarnr){ function getGroepenSboSo($orgid, $schooljaarnr){
$this->sql = "SELECT GR.id, $this->sql = "SELECT GR.id,
@@ -26,7 +26,7 @@ class Ijkpunten_model extends MY_Model{
JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id JOIN tb_ijkpunten Y ON Y.versie_id = OV.versie_id
JOIN tb_indicatoren I ON Y.id = I.ijkpunt_id JOIN tb_indicatoren I ON Y.id = I.ijkpunt_id
WHERE OV.id ={$orgversieid} WHERE OV.id ={$orgversieid}
GROUP BY Y.nummer GROUP BY Y.id
ORDER BY Y.nummer "; ORDER BY Y.nummer ";
return $this->get_query_result(); return $this->get_query_result();
} }
+3 -3
View File
@@ -692,12 +692,12 @@ class Scores_model extends MY_Model{
function getgemscores($orgversieid, $orgids){ function getgemscores($orgversieid, $orgids){
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids); $gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids);
if ($gevuldeversies) { if ($gevuldeversies && $gevuldeversies !== '') {
$this->sql = " SELECT Q.omschrijving, Q.toelichting, Q.ijkpunt_id, Q.disabled, Q.scoretype, $this->sql = " SELECT Q.omschrijving, Q.toelichting, Q.ijkpunt_id, Q.disabled, Q.scoretype,
Q.sumscores/Q.sumgewicht AS gem, Q.nummer, 'F' AS disablenvt Q.sumscores/Q.sumgewicht AS gem, Q.nummer, 'F' AS disablenvt
FROM ( FROM (
SELECT Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id, SELECT Y.omschrijving, Y.toelichting,Y.id as ijkpunt_id,
Y.nummer, Y.disabled, SC.scoretype, Y.nummer, Y.disabled, MAX(SC.scoretype) AS scoretype,
SUM(CASE WHEN Y.disabled = 'T' THEN 0 SUM(CASE WHEN Y.disabled = 'T' THEN 0
@@ -770,7 +770,7 @@ class Scores_model extends MY_Model{
function getgemscorestype4($orgversieid, $orgids){ function getgemscorestype4($orgversieid, $orgids){
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids); $gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids);
if ($gevuldeversies) { if ($gevuldeversies && $gevuldeversies !== '') {
$this->sql = " SELECT Q.omschrijving, $this->sql = " SELECT Q.omschrijving,
Q.toelichting, Q.toelichting,
Q.ijkpunt_id, Q.ijkpunt_id,
@@ -14,7 +14,8 @@ class Toewijzingen_model extends MY_Model{
function gettoewijzingen($orgid){ function gettoewijzingen($orgid){
$this->sql = "SELECT T.id, basis, extra, som, overig, vastgelegd,basisextra, basisextravast, $this->sql = "SELECT T.id, basis, extra, som, overig, vastgelegd,basisextra, basisextravast,
K.naam, K.jaarnr, IF(T.id >0, T.jaarclosed,'F') as jaarclosed K.naam, K.jaarnr, IF(T.id >0, T.jaarclosed,'F') as jaarclosed,
COALESCE(T.deelbudgetten, 'T') as deelbudgetten
FROM tb_kalenderjaren K FROM tb_kalenderjaren K
LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T
ON T.kalenderjaarnr = K.jaarnr ON T.kalenderjaarnr = K.jaarnr
@@ -22,7 +23,7 @@ class Toewijzingen_model extends MY_Model{
return $this->get_query_result(); return $this->get_query_result();
} }
function gettoewijzingperjaar($orgid, $jaarnr){ function gettoewijzingperjaar($orgid, $jaarnr){
$this->sql = " SELECT id, basis, extra, som, overig, basisextra, jaarclosed $this->sql = " SELECT id, basis, extra, som, overig, basisextra, jaarclosed, deelbudgetten
FROM tb_toewijzingen FROM tb_toewijzingen
WHERE orgid = {$orgid} WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}"; AND kalenderjaarnr = {$jaarnr}";
+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>
+120 -20
View File
@@ -27,13 +27,14 @@
<tr style="border-bottom: 1px solid #efefef"> <tr style="border-bottom: 1px solid #efefef">
<td class="vat"> <td class="vat">
<button class="delete" <button class="delete"
title="verwijder"
data-bind="click: $parent.fDeleteGroep, visible: $parent.writer()"></button></td> data-bind="click: $parent.fDeleteGroep, visible: $parent.writer()"></button></td>
<td class="vat" data-bind="text: naam"></td> <td class="vat" data-bind="text: naam"></td>
<td class="vat" style="text-align:right" data-bind="text: totaantal"></td> <td class="vat" style="text-align:right" data-bind="text: totaantal"></td>
<td class="vat" style="text-align:right" data-bind="text: som1() > 0 ? som1 : '' "></td> <td class="vat" style="text-align:right" data-bind="text: som1() > 0 ? som1() : '' "></td>
<td class="vat" style="text-align:right" data-bind="text: som2() > 0 ? som2 : '' " ></td> <td class="vat" style="text-align:right" data-bind="text: som2() > 0 ? som2() : '' " ></td>
<td class="vat" style="text-align:right" data-bind="text: som3() > 0 ? som3 : ''" ></td> <td class="vat" style="text-align:right" data-bind="text: som3() > 0 ? som3() : ''" ></td>
<td class="vat" style="text-align:right" data-bind="text: som4() > 0 ? som4 : '' " ></td> <td class="vat" style="text-align:right" data-bind="text: som4() > 0 ? som4() : '' " ></td>
<td class="vat" style="padding-left:15px"> <td class="vat" style="padding-left:15px">
<!-- ko foreach: leerkrachten--> <!-- ko foreach: leerkrachten-->
<span data-bind="text:fullname"></span><br /> <span data-bind="text:fullname"></span><br />
@@ -83,7 +84,7 @@
<td style="vertical-align:top"> <td style="vertical-align:top">
<!-- ko foreach: $parent.leerkrachten --> <!-- ko foreach: $parent.leerkrachten -->
<p style="margin:0px" data-bind="text: fullname, visible: selected()"></p> <p style="margin:0" data-bind="text: fullname, visible: selected()"></p>
<!-- /ko --> <!-- /ko -->
<div data-bind="visible: toonLK" <div data-bind="visible: toonLK"
@@ -131,8 +132,17 @@
<td style="width: 45px" class="integer" data-bind="text: totplus"></td> <td style="width: 45px" class="integer" data-bind="text: totplus"></td>
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend2() && nivo==2" > <tr data-bind="visible: !$parent.geopend2() && nivo==2 && !archief()" >
<td ><button class="delete" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && $root.writer()"></button></td> <td >
<button class="delete"
title="verwijder"
data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()">
</button>
<i class="fa fa-archive"
title="archief"
data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()">
</i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0 && $root.writer(), enable: orgid > 0 && $root.writer(),
@@ -140,9 +150,9 @@
</td> </td>
<td><input class = "integer" <td><input class = "integer"
data-bind="textInput: aantal, data-bind="textInput: aantal,
attr:{'id' : 'aantal2-' + $index()}, attr:{'id' : 'aantal2-' + $index()},
event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )}, event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )},
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
@@ -150,9 +160,44 @@
<tr data-bind="visible: !geopend2()"> <tr data-bind="visible: !geopend2()">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,2), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px; padding-bottom: 5px;">
<button class="btn-subtle"
data-bind="click: $parent.fNewOndersteuning.bind($data,2), visible: $root.writer()">voeg ondersteuningsvorm toe
</button>
</td>
</tr> </tr>
<tr data-bind="visible: !geopend2()">
<!-- ko if:archiefplus() -->
<tr data-bind="visible: !geopend2() && !archief2() ">
<td></td>
<td colspan=2 style="padding-top: 2px;">
<button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,2), visible: $root.writer()">toon archief
</button></td>
</tr>
<tr data-bind="visible: !geopend2() && archief2() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen
</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend2() && $parent.archief2() && nivo==2 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS, ">
</button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend2() && archief2() ">
<td colspan=2 ></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,2), visible: $root.writer()">sluit</button></td>
</tr>
<!--/ko-->
<tr data-bind="visible: !geopend2() ">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
@@ -165,8 +210,11 @@
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend3() && nivo==3" > <tr data-bind="visible: !$parent.geopend3() && nivo==3 && !archief() " >
<td></td> <td >
<button class="delete" title="verwijder" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()"></button>
<i class="fa fa-archive" title="archief" data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()"></i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0, enable: orgid > 0,
@@ -178,10 +226,35 @@
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
<!-- /ko --> <!-- /ko -->
<tr data-bind="visible: !geopend3()"> <tr data-bind="visible: !geopend3() " style="padding-bottom: 5px;">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,3), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fNewOndersteuning.bind($data,3), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td>
</tr> </tr>
<!-- ko if:archiefextra() -->
<tr data-bind="visible: !geopend3() && !archief3()">
<td></td>
<td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,3), visible: $root.writer()">toon archief</button></td>
</tr>
<tr data-bind="visible: !geopend3() && archief3() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend3() && $parent.archief3() && nivo==3 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS "></button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend3() && archief3()">
<td colspan=2></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,3), visible: $root.writer()">sluit</button></td>
</tr>
<!-- /ko -->
<tr data-bind="visible: !geopend3()"> <tr data-bind="visible: !geopend3()">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
@@ -193,8 +266,11 @@
<td style="width: 45px" class= "integer" data-bind="text: totextraplus"></td> <td style="width: 45px" class= "integer" data-bind="text: totextraplus"></td>
</tr> </tr>
<!-- ko foreach: ondersteuningsvormen --> <!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend4() && nivo==4"> <tr data-bind="visible: !$parent.geopend4() && nivo==4 && !archief()">
<td></td> <td >
<button class="delete" title="verwijder" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && !gebruikt && $root.writer()"></button>
<i class="fa fa-archive" title="archief" data-bind="click: $root.fArchiveOS, visible: orgid > 0 && gebruikt && $root.writer()"></i>
</td>
<td ><input style="width:100%" <td ><input style="width:100%"
data-bind="textInput: naam, data-bind="textInput: naam,
enable: orgid > 0, enable: orgid > 0,
@@ -206,13 +282,37 @@
enable: $root.writer() && !$root.bezig()" /></td> enable: $root.writer() && !$root.bezig()" /></td>
</tr> </tr>
<!-- /ko --> <!-- /ko -->
<tr data-bind="visible: !geopend4()"> <tr data-bind="visible: !geopend4()" style="padding-bottom: 5px;">
<td></td> <td></td>
<td colspan=2> <button data-bind="click: $parent.fNewOndersteuning.bind($data,4), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td> <td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fNewOndersteuning.bind($data,4), visible: $root.writer()">voeg ondersteuningsvorm toe</button></td>
</tr>
<!-- ko if: archiefextraplus() -->
<tr data-bind="visible: !geopend4() && !archief4()">
<td></td>
<td colspan=2 style="padding-top: 2px;"> <button class="btn-subtle" style="background-color: #f1f1f1; " data-bind="click: $parent.fToggleArchief.bind($data,4), visible: $root.writer()">toon archief</button></td>
</tr>
<tr data-bind="visible: !geopend4() && archief4() ">
<td colspan=3 style="background-color: lightgrey;"> Gearchiveerde ondersteuningsvormen</td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !$parent.geopend4() && $parent.archief4() && nivo==4 && orgid > 0 && archief() && $root.writer()">
<td >
<button class="activeer" title="activeer" data-bind="click: $root.fActivateOS "></button>
</td>
<td colspan=2 data-bind="text: naam"></td>
</tr>
<!-- /ko -->
<tr style="background-color: #f1f1f1;" data-bind="visible: !geopend4() && archief4()">
<td colspan=2></td>
<td style="padding-top: 2px;"> <button class="btn-subtle" data-bind="click: $parent.fToggleArchief.bind($data,4), visible: $root.writer()">sluit</button></td>
</tr> </tr>
<tr data-bind="visible: !geopend4()"> <tr data-bind="visible: !geopend4()">
<td colspan=3> <hr/></td> <td colspan=3> <hr/></td>
</tr> </tr>
<!-- /ko -->
</table> </table>
<div> <div>
<p>Notitie</p> <p>Notitie</p>
@@ -52,46 +52,66 @@
<div style="width: 100%" <div style="width: 100%"
data-bind="visible: selectedOrg(), with: selectedOrg"> data-bind="visible: selectedOrg(), with: selectedOrg">
<h4 style="margin-top:0px"><span data-bind="text: fnaam"></span> : Budgetten</h4> <h4 style="margin-top:0px"><span data-bind="text: fnaam"></span> : Budgetten</h4>
<table class="lstable" style="width:100%; font-size: 0.8em"> <table class="lstable" style="width:100%; font-size: 0.8em; vertical-align: text-top">
<thead> <thead>
<tr> <tr>
<th style="width:12%; text-align:center">Kalenderjaar</th> <th style="text-align:center">Kalenderjaar</th>
<th style="width:30%; text-align:center">Basis ondersteuning</th> <th style="text-align:center">Basis ondersteuning</th>
<th style="width:30%; text-align:center">Extra ondersteuning</th> <th style="text-align:center">Extra ondersteuning</th>
<th style="width:10%; text-align:center"></th> <th style="text-align:center"></th>
<th >Deelbudgetten</th>
</tr> </tr>
</thead> </thead>
<tbody data-bind= "foreach: $parent.bedragen"> <tbody data-bind= "foreach: $parent.bedragen">
<tr> <tr >
<td data-bind="text: kalenderjaar"></td> <td style="vertical-align: text-top; height: 23px" data-bind="text: kalenderjaar"></td>
<td><input class="decimal" <td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%" style="max-width: 100%;width:100%"
data-bind="textInput: basis, data-bind="textInput: basis,
event:{change: $root.fUpdatebedrag.bind($data,1)}, event:{change: $root.fUpdatebedrag.bind($data,1)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ), visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
enable:$root.magwijzig()" /></td> enable:$root.magwijzig()" /></td>
<td><input class="decimal" <td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%" style="max-width: 100%;width:100%"
data-bind="textInput: extra, data-bind="textInput: extra,
event:{change: $root.fUpdatebedrag.bind($data,2)}, event:{change: $root.fUpdatebedrag.bind($data,2)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ), visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
enable:$root.magwijzig()" /></td> enable:$root.magwijzig()" /></td>
<td ><button data-bind="click: $root.fLegVast, <td style="height: 23px"><button style="vertical-align: text-top; " data-bind="click: $root.fLegVast,
visible: (vastgelegd() == 0 || vastgelegd() == null) && !jaarclosed() visible: (vastgelegd() == 0 || vastgelegd() == null) && !jaarclosed()
&& $root.magwijzig()">leg vast</button> && $root.magwijzig()">leg vast</button>
</td> </td>
<td style="height: 23px">
<!-- ko if: deelbudgetten()-->
<span >met deelbudgetten</span>
<!--/ko-->
<!-- ko if: ! deelbudgetten() -->
<span >zonder deelbudgetten </span>
<!--/ko-->
</td>
</tr> </tr>
<tr style="border-bottom:1px solid #dbdbdb"> <tr style="border-bottom:1px solid #dbdbdb; ">
<td>geformatteerd</td> <td style="height: 23px">geformatteerd</td>
<td style="text-align: right" data-bind="text: screenbasis"></td> <td style="text-align: right; height: 23px" data-bind="text: screenbasis"></td>
<td style="text-align: right" data-bind="text: screenextra"></td> <td style="text-align: right; height: 23px" data-bind="text: screenextra"></td>
<td colspan =2> <td style="height: 23px">
<button style="width: 100%; margin-top: 5px; margin-bottom: 5px;" <button style="width: 100%; margin-top: 5px; margin-bottom: 5px;"
data-bind="click: $root.fJaarAfsluiten, visible: ! jaarclosed() && $root.selectedOrg().soort ==1 && $root.magwijzig()"> data-bind="click: $root.fJaarAfsluiten, visible: ! jaarclosed() && $root.selectedOrg().soort ==1 && $root.magwijzig()">
jaar afsluiten jaar afsluiten
</button> </button>
</td> </td>
<td style="height: 23px">
<!-- ko if: deelbudgetten()-->
<button style=" vertical-align: text-top; padding-top: 0; " data-bind="click: $root.fToggleDeelbudget">verberg
</button>
<!--/ko-->
<!-- ko if: ! deelbudgetten() -->
<button style=" vertical-align: text-top; padding-top: 0; " data-bind="click: $root.fToggleDeelbudget " >voeg toe
</button>
<!--/ko-->
</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -21,17 +21,21 @@
Basisondersteuning Basisondersteuning
</h4> </h4>
<div data-bind="visible: basisgeopend()"> <div data-bind="visible: basisgeopend()">
<table class="lstable" style="width : 100%; font-size:0.9em; position: relative"> <table class="lstable" style="width : 100%; font-size:0.9em;border-top: none; position: relative">
<thead style="position: sticky; top: 0" > <thead style="position: sticky; top: 0" >
<tr> <tr>
<th style="width:29%"></th> <th style="width:30%"></th>
<th style="width:5%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width: 11%"></th> <th ></th>
<th style="width:11%"></th>
<th style="width:11%"></th>
<!-- ko if: deelbudgetten()-->
<th ></th>
<!--/ko-->
<th ></th>
</tr> </tr>
<tr class="blokheader" > <tr class="blokheader" >
<th colspan="2" style="background-color: #968026; border: none; " > <th colspan="2" style="background-color: #968026; border: none; " >
@@ -41,6 +45,7 @@
<span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span> <span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader" <th class="blokheader"
style="text-align: right; style="text-align: right;
padding-right: 5px; padding-right: 5px;
@@ -51,6 +56,7 @@
<span >Restant <span >Restant
</span> </span>
</th> </th>
<!--/ko-->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026;"> <th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026;">
<span>Percentage</span> <span>Percentage</span>
<i class="fa fa-info-circle" <i class="fa fa-info-circle"
@@ -65,14 +71,15 @@
<!-- ko foreach: $root.uitgavetypes --> <!-- ko foreach: $root.uitgavetypes -->
<th style="text-align:right; border-right: 2px solid #ffffff; background-color: #968026;padding-right: 5px;" <th style="text-align:right; border-right: 2px solid #ffffff; background-color: #968026;padding-right: 5px;"
data-bind="style: {'borderTop' : code != 'TOTAAL' ? '2px solid #ffffff' : 'none', }"> data-bind="style: {'borderTop' : code != 'TOTAAL' ? '2px solid #ffffff' : 'none', } " >
<span data-bind="text: code != 'TOTAAL' ? code : ' ' "> <span data-bind="text: code != 'TOTAAL' ? code : ' ' ">
</span> </span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; border-top: none; background-color: #968026;"> <th class="blokheader2" style="border-right: 2px solid #ffffff; border-top: none; background-color: #968026;">
</th> </th>
<!--/ko-->
<th class="blokheader2" style="background-color: #968026; border-top: none;"> <th class="blokheader2" style="background-color: #968026; border-top: none;">
</th> </th>
</tr> </tr>
@@ -82,11 +89,16 @@
<tbody data-bind="foreach: basissoorten"> <tbody data-bind="foreach: basissoorten">
<tr class="blokheader"> <tr class="blokheader">
<td class="blokheader" colspan="8" data-bind="text: naam" style="text-align: left; border: 2px solid #ffffff"></td> <td class="blokheader"
data-bind="text: naam,
attr: {colspan: $parent.deelbudgetten() ? 8 : 7 },
"
style="text-align: left; border: 2px solid #ffffff"></td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<tr> <!-- ko if: $root.deelbudgetten() -->
<tr >
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td> <td style="text-align: left; color: #008028 ">budget</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
@@ -120,37 +132,49 @@
</div> </div>
</td> </td>
</tr> </tr>
<!--/ko-->
<tr > <tr >
<td ></td> <td >
<!-- ko if: !$root.deelbudgetten() -->
<span data-bind="text: naam "></span>
<!--/ko-->
</td>
<td style="text-align: left; color:#003e80; ">uitgaven</td> <td style="text-align: left; color:#003e80; ">uitgaven</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-bottom: 10px;"> <td style="text-align: right; padding-bottom: 10px;">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'--> <!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal" <input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff" style="width: 145px; max-width:98%; background-color: #e6f2ff"
data-bind="textInput: bedragFormat, data-bind="textInput: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000' }, style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000' },
event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} , event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} ,
enable: ! $root.jaarclosed()" /> enable: ! $root.jaarclosed()" />
<!-- /ko --> <!-- /ko -->
<!-- ko if: code == 'RESTANT' || code == 'TOTAAL'--> <!-- ko if: code == 'RESTANT' -->
<span class="decimal"
style="width: 145px; max-width:98%; "
data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
</span>
<!-- /ko -->
<!-- ko if: code == 'TOTAAL'-->
<span class="decimal" <span class="decimal"
style="width: 145px; max-width:98%" style="width: 145px; max-width:98%"
data-bind="text: bedragFormat, data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000', style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
fontSize : code == 'TOTAAL' ? 'small' : 'normal' },
">
</span> </span>
<!-- /ko --> <!-- /ko -->
</td> </td>
<!-- /ko --> <!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top"> <td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px; color:#003e80; <div style="width: 98%;height: 24px; color:#003e80;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px; font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;"> padding-bottom: 2px; margin: 0; text-align: right; padding-right: 3px;">
<span data-bind="text: bedragpctFormat, <span data-bind="text: bedragpctFormat,
visible: ! $root.jaarclosed()"> visible: ! $root.jaarclosed()">
</span> </span>
</div> </div>
</td> </td>
@@ -171,12 +195,14 @@
<span data-bind="text: totbasispct() == '0,0' ? '' : '(' + totbasispct() + '% van het totaalbudget)' "> <span data-bind="text: totbasispct() == '0,0' ? '' : '(' + totbasispct() + '% van het totaalbudget)' ">
</span> </span>
<br> <br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetbasis "> data-bind="text: gebudgetbasis ">
</span> </span>
<span data-bind= "text: gebudgetbasispct()== '0,0' ? '' : '(' + gebudgetbasispct() + '% van het totaalbudget)' "></span> <span data-bind= "text: gebudgetbasispct()== '0,0' ? '' : '(' + gebudgetbasispct() + '% van het totaalbudget)' "></span>
<br> <br>
<!--/ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span> <span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' "> data-bind="text: jaartoewijzing() ? jaartoewijzing().basis : '' ">
@@ -197,7 +223,9 @@
<th style="width: 11%"></th> <th style="width: 11%"></th>
<th style="width: 11%"></th> <th style="width: 11%"></th>
<th style="width:11%"></th> <th style="width:11%"></th>
<!-- ko if: $root.deelbudgetten()-->
<th style="width:11%"></th> <th style="width:11%"></th>
<!--/ko-->
<th style="width:11%"></th> <th style="width:11%"></th>
</tr> </tr>
<tr class="blokheader" style=" text-align:left; padding-left:5px; "> <tr class="blokheader" style=" text-align:left; padding-left:5px; ">
@@ -209,6 +237,7 @@
<span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span> <span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader" <th class="blokheader"
style="text-align: right; style="text-align: right;
padding-right: 5px; padding-right: 5px;
@@ -218,6 +247,7 @@
border-right: 2px solid #ffffff;"> border-right: 2px solid #ffffff;">
Restant Restant
</th> </th>
<!-- /ko -->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026"> <th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026">
<span >Percentage</span> <span >Percentage</span>
<i class="fa fa-info-circle" <i class="fa fa-info-circle"
@@ -235,8 +265,10 @@
<span data-bind="text: code != 'TOTAAL' ? code : ' ' "></span> <span data-bind="text: code != 'TOTAAL' ? code : ' ' "></span>
</th> </th>
<!-- /ko --> <!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; background-color: background-color: #968026; border-top: none;"> <th class="blokheader2" style="border-right: 2px solid #ffffff; background-color: background-color: #968026; border-top: none;">
</th> </th>
<!-- /ko -->
<th class="blokheader2" style="background-color: background-color: #968026; border-top: none;"> <th class="blokheader2" style="background-color: background-color: #968026; border-top: none;">
</th> </th>
</tr> </tr>
@@ -245,9 +277,15 @@
<tbody data-bind="foreach: extrasoorten"> <tbody data-bind="foreach: extrasoorten">
<tr class="blokheader"> <tr class="blokheader">
<td class="blokheader" colspan="8" data-bind="text: naam" style="text-align: left; border: 2px solid #ffffff"></td> <td class="blokheader"
data-bind="text: naam,
attr: {colspan: $parent.deelbudgetten() ? 8 : 7 },"
style="text-align: left; border: 2px solid #ffffff"></td>
</tr> </tr>
<!-- ko foreach:subsoorten --> <!-- ko foreach:subsoorten -->
<!--ko if: $root.deelbudgetten()-->
<tr> <tr>
<td data-bind="text: naam"></td> <td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td> <td style="text-align: left; color: #008028 ">budget</td>
@@ -279,27 +317,41 @@
</div> </div>
</td> </td>
</tr> </tr>
<!--/ko-->
<tr > <tr >
<td ></td> <td >
<!-- ko if: !$root.deelbudgetten() -->
<span data-bind="text: naam "></span>
<!--/ko-->
</td>
<td style="text-align: left; color:#003e80; ">uitgaven</td> <td style="text-align: left; color:#003e80; ">uitgaven</td>
<!-- ko foreach: uitgavetypes() --> <!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-top: 1px; vertical-align: top "> <td style="text-align: right; padding-top: 1px; vertical-align: top ">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'--> <!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal" <input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff" style="width: 145px; max-width:98%; background-color: #e6f2ff"
data-bind="textInput: bedragFormat, data-bind="textInput: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000'}, style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'},
event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} , event: {change:$root.fSaveBedrag.bind($data, $parent.subsoortID, 'BASIS' )} ,
enable: ! $root.jaarclosed()" /> enable: ! $root.jaarclosed()" />
<!-- /ko --> <!-- /ko -->
<!-- ko if: code == 'RESTANT' || code == 'TOTAAL'--> <!-- ko if: code == 'RESTANT' -->
<span class="decimal" <span class="decimal"
data-bind="text: bedragFormat, data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000'}" > style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'}" >
</span>
<!-- /ko -->
<!-- ko if: code == 'TOTAAL'-->
<span class="decimal"
data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'}" >
</span> </span>
<!-- /ko --> <!-- /ko -->
</td> </td>
<!-- /ko --> <!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top"> <td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px; <div style="width: 98%;height: 24px;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px; font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
@@ -326,6 +378,7 @@
</span> </span>
<span data-bind="text: totextrapct() =='0,0' ? '' : '(' + totextrapct() + '% van het totaalbudget)'"></span> <span data-bind="text: totextrapct() =='0,0' ? '' : '(' + totextrapct() + '% van het totaalbudget)'"></span>
<br> <br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span> <span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetextra() "> data-bind="text: gebudgetextra() ">
@@ -333,6 +386,7 @@
<span data-bind="text: gebudgetextrapct() =='0,0' ? '' : '(' + gebudgetextrapct() + '% van het totaalbudget)' "></span> <span data-bind="text: gebudgetextrapct() =='0,0' ? '' : '(' + gebudgetextrapct() + '% van het totaalbudget)' "></span>
<br> <br>
<!-- /ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span> <span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right" <span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' "> data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' ">
+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;
}
}
+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d="M560.3 301.2C570.7 313 588.6 315.6 602.1 306.7C616.8 296.9 620.8 277 611 262.3L563 190.3C560.2 186.1 556.4 182.6 551.9 180.1L351.4 68.7C332.1 58 308.6 58 289.2 68.7L88.8 180C83.4 183 79.1 187.4 76.2 192.8L27.7 282.7C15.1 306.1 23.9 335.2 47.3 347.8L80.3 365.5L80.3 418.8C80.3 441.8 92.7 463.1 112.7 474.5L288.7 574.2C308.3 585.3 332.2 585.3 351.8 574.2L527.8 474.5C547.9 463.1 560.2 441.9 560.2 418.8L560.2 301.3zM320.3 291.4L170.2 208L320.3 124.6L470.4 208L320.3 291.4zM278.8 341.6L257.5 387.8L91.7 299L117.1 251.8L278.8 341.6z"/></svg>

After

Width:  |  Height:  |  Size: 759 B

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

+420
View File
@@ -202,6 +202,33 @@ button.delete{
cursor: pointer; cursor: pointer;
box-shadow:none; box-shadow:none;
} }
button.activeer{
background-image: url('/css/images/box-open.svg');
margin-right: 1px;
background-color: rgba(255, 255, 255, 0);
background-repeat: no-repeat;
background-size: 15px 20px;
background-position:center;
width: 20px;
height: 20px;
border: medium none;
cursor: pointer;
box-shadow:none;
}
button.btn-subtle{
border-color: #bdbdbd;
background-color: #f1f1f1;
box-shadow: 1px 1px 2px #9b9b9b;
}
button.btn-subtle:hover{
box-shadow: 1px 1px 2px #7f7f7f;
}
button.btn-subtle:focus{
outline: none;
box-shadow: 0 0 0 2px #d0d0d0;
}
.printer{ .printer{
background-image: url('/css/images/print.png'); background-image: url('/css/images/print.png');
margin-right: 1px; margin-right: 1px;
@@ -228,6 +255,384 @@ button.delete{
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;
} }
@@ -1326,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

+15 -22
View File
@@ -69,29 +69,22 @@ ls.initLoginModel = function(){
return;} return;}
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);
+130 -34
View File
@@ -6,12 +6,12 @@ $(function(){
this.id = p.id; this.id = p.id;
this.naam = p.naam this.naam = p.naam
this.niveau = p.niveau; this.niveau = p.niveau;
this.totaantal = ko.observable(p.totaantal); this.totaantal = ko.observable(parseInt(p.totaantal, 10)|| 0);
this.aantal2 = ko.observable(p.totaantal); this.aantal2 = ko.observable(parseInt(p.totaantal, 10) || 0);
this.som1 = ko.observable(p.som1); this.som1 = ko.observable(parseInt(p.som1, 10)|| 0);
this.som2 = ko.observable(p.som2); this.som2 = ko.observable(parseInt(p.som2, 10)|| 0);
this.som3 = ko.observable(p.som3); this.som3 = ko.observable(parseInt(p.som3, 10)|| 0);
this.som4 = ko.observable(p.som4); this.som4 = ko.observable(parseInt(p.som4, 10)|| 0);
this.leerkrachten = ko.observableArray([]); this.leerkrachten = ko.observableArray([]);
var dit = this; var dit = this;
if (p.leerkrachten){ if (p.leerkrachten){
@@ -28,11 +28,14 @@ $(function(){
} }
function fAddEditGroep(p){ function fAddEditGroep(p){
var dit = this; var dit= this;
this.id = p.id; this.id = p.id;
this.naam = ko.observable(p.naam); this.naam = ko.observable(p.naam);
this.orgid = p.orgid; this.orgid = p.orgid;
this.schooljaar = p.schooljaar; this.schooljaar = p.schooljaar;
this.archief2 = ko.observable(false);
this.archief3 = ko.observable(false);
this.archief4 = ko.observable(false);
this.niveau = ko.observableArray([]); this.niveau = ko.observableArray([]);
if (p.niveau){ if (p.niveau){
@@ -88,6 +91,44 @@ $(function(){
this.basis = ko.computed(function(){ this.basis = ko.computed(function(){
return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus()); return parseInt(dit.totaantal()) - (parseInt(dit.totplus()) + dit.totextra()+dit.totextraplus());
}) })
this.archiefplus = ko.computed(function(){
let toon = false;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo )=== 2 ){
if(y.archief() && y.orgid > 0)
toon = true;
}
});
}
return toon;
});
this.archiefextra = ko.computed(function(){
var toon = false
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo) === 3 && y.archief()){
toon = true;
}
});
}
return toon;
});
this.archiefextraplus = ko.computed(function(){
var toon = false;
if (dit.ondersteuningsvormen()){
$.each(dit.ondersteuningsvormen(), function(x,y){
if (parseInt(y.nivo) === 4 && y.archief()){
toon = true;
}
});
}
return toon;
});
this.geopend1 = ko.observable(false); this.geopend1 = ko.observable(false);
this.geopend2 = ko.observable(false); this.geopend2 = ko.observable(false);
this.geopend3 = ko.observable(false); this.geopend3 = ko.observable(false);
@@ -99,11 +140,13 @@ $(function(){
function fAddOndersteuningsvorm(k){ function fAddOndersteuningsvorm(k){
var dit = this; var dit = this;
this.id = k.id; this.id = k.id;
this.orgid = k.organisatie_id; this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam); this.naam = ko.observable(k.naam);
this.nivo = k.nivo; this.nivo = k.nivo;
this.aantal = ko.observable(k.aantal); this.aantal = ko.observable(k.aantal);
this.gebruikt = k.gebruikt==='T';
this.archief = ko.observable(false);
if (k.archief==='T') dit.archief(true);
} }
@@ -292,14 +335,15 @@ $(function(){
} }
}); });
}) // delete groepxuser }) // delete groepxuser
self.selectedGroep().totaantal(self.editGroep().totaantal()); self.selectedGroep().totaantal(parseInt(self.editGroep().totaantal(), 10));
// hier alle regels en/of aantallen opslaan // hier alle regels en/of aantallen opslaan
self.selectedGroep().som1(self.selectedGroep().totaantal()); self.selectedGroep().som1(parseInt(self.editGroep().basis(), 10) || 0);
self.selectedGroep().som2(0); self.selectedGroep().som2(parseInt(self.editGroep().totplus(), 10) || 0);
self.selectedGroep().som3(0); self.selectedGroep().som3(parseInt(self.editGroep().totextra(), 10) || 0);
self.selectedGroep().som4(0); self.selectedGroep().som4(parseInt(self.editGroep().totextraplus(), 10) || 0);
if (self.editGroep().ondersteuningsvormen()){ if (self.editGroep().ondersteuningsvormen()){
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){ $.each(self.editGroep().ondersteuningsvormen(), function(i,p){
@@ -309,25 +353,16 @@ $(function(){
groepid : self.editGroep().id, groepid : self.editGroep().id,
nivo : p.nivo, nivo : p.nivo,
naam : p.naam(), naam : p.naam(),
aantal : p.aantal() }; aantal : p.aantal(),
archief : p.archief() ? 'T': 'F'}
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){ $.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){
if (result){ if (result){
if (p.id == null || p.id == 0) p.id = result; if (p.id == null || p.id == 0) p.id = result;
} }
},'json'); },'json');
// HIER NOG OPTELLEN VAN LEERLINGEN PER ONDERSTEUNINGSVORM VOOR SELECTED GROEP
if (p.aantal()) {
self.selectedGroep().som1(self.selectedGroep().som1() - parseInt(p.aantal()));
switch (p.nivo){
case '2': self.selectedGroep().som2( self.selectedGroep().som2() + parseInt(p.aantal()));
break;
case '3': self.selectedGroep().som3( self.selectedGroep().som3() + parseInt(p.aantal()));
break;
case '4': self.selectedGroep().som4(self.selectedGroep().som4() + parseInt(p.aantal()));
break;
}
} ; // if p.aantal
}); // each }); // each
}// if }// if
@@ -396,10 +431,23 @@ $(function(){
orgid:self.schoolid(), orgid:self.schoolid(),
naam: ko.observable(''), naam: ko.observable(''),
nivo: wat, nivo: wat,
aantal: ko.observable(0)} aantal: ko.observable(0),
gebruikt: false,
archief: ko.observable(false)
}
self. editGroep().ondersteuningsvormen.push( newos); self. editGroep().ondersteuningsvormen.push( newos);
}, },
fToggleArchief: function(wat){
var self = ls.GroepenModel;
if (!self.editGroep()) return;
if (wat === 2) self.editGroep().archief2(! self.editGroep().archief2());
if (wat === 3) self.editGroep().archief3(! self.editGroep().archief3());
if (wat === 4) self.editGroep().archief4(! self.editGroep().archief4());
},
fCheckinput: function(data,elid){ fCheckinput: function(data,elid){
var self =ls.GroepenModel; var self =ls.GroepenModel;
var dit = this; var dit = this;
@@ -484,17 +532,65 @@ $(function(){
} }
},'json'); },'json');
}, },
fArchiveOS : function(){
var self = ls.GroepenModel;
var dit = this;
let waarschuwing ="Weet u zeker dat u " + dit.naam() + " wilt archiveren?";
if(parseInt(dit.aantal()) > 0) waarschuwing = waarschuwing + "<br/>De leerlingen in deze groep die toegewezen zijn aan deze" +
" ondersteuningsvorm worden ingedeeld in de basisondersteuning."
let sd ={
vormID : dit.id,
groepID: self.editGroep().id,
orgID: self.schoolid()
}
apprise(waarschuwing , {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/archiveerOS", sd, function(){
dit.archief(true);
dit.aantal(0);
});
};// if ans
});//apprise
},
fActivateOS : function(){
var self = ls.GroepenModel;
var dit = this;
let waarschuwing ="Weet u zeker dat u " + dit.naam() + " actief wilt maken?";
let sd ={
vormID : dit.id,
groepID: self.editGroep().id,
orgID: self.schoolid()
}
apprise(waarschuwing , {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){
$.post("index.php/monpas/groepen/activeerOS", sd, function(){
dit.archief(false);
});
};// if ans
});//apprise
},
fDeleteOS : function(){ fDeleteOS : function(){
var self = ls.GroepenModel; var self = ls.GroepenModel;
var dit = this; var dit = this;
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen? </br/> Alle leerlingen (in alle groepen) die toegewezen zijn aan deze" + let waarschuwing ="Weet u zeker dat u " + dit.naam() + " wilt verwijderen?";
" ondersteuningsvorm worden ingedeeld in de basisondersteuning.", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if(parseInt(dit.aantal(), 10) > 0)waarschuwing = waarschuwing + "</br/> De leerlingen die toegewezen zijn aan deze ondersteuningsvorm worden ingedeeld in de basisondersteuning.";
apprise(waarschuwing, {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
if (ans){ if (ans){
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){ $.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
self.editGroep().ondersteuningsvormen.remove(dit); self.editGroep().ondersteuningsvormen.remove(dit);
}); });
};// if ans }// if ans
});//apprise });//apprise
}, },
fWijzigLeerkrachten : function(){ fWijzigLeerkrachten : function(){
+22 -12
View File
@@ -106,11 +106,11 @@ ls.initBestemmingenModel = function(){
kalenderjaren : ko.observableArray([]), kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(), selectedKalenderjaar : ko.observable(),
jaartoewijzing : ko.observable(), jaartoewijzing : ko.observable(),
erIsBudget : ko.observable(false), erIsBudget : ko.observable(false),
uitgavetypes : ko.observableArray(), uitgavetypes : ko.observableArray(),
basissoorten : ko.observableArray(), basissoorten : ko.observableArray(),
extrasoorten : ko.observableArray(), extrasoorten : ko.observableArray(),
deelbudgetten : ko.observable(true),
opmerking : ko.observable(''), opmerking : ko.observable(''),
jaarclosed : ko.observable(true), jaarclosed : ko.observable(true),
bezig : ko.observable(false), bezig : ko.observable(false),
@@ -174,13 +174,16 @@ ls.initBestemmingenModel = function(){
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr} var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) { $.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) {
console.log(data, 'data')
if (data.jaartoewijzing) { if (data.jaartoewijzing) {
self.jaartoewijzing(data.jaartoewijzing); self.jaartoewijzing(data.jaartoewijzing);
self.deelbudgetten(self.jaartoewijzing().deelbudgetten === 'T');
} }
else self.deelbudgetten
self.jaarclosed(data.jaarclosed); self.jaarclosed(data.jaarclosed);
self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data); self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data);
},'json') },'json')
}, },
@@ -452,16 +455,24 @@ ls.initBestemmingenModel = function(){
'bedrag': invoer 'bedrag': invoer
} }
console.log(sd, 'bedrag')
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
var sd2 = { $.post("index.php/monfin2/bestemmingen/updatebedrag", sd, function(result){
'id' : subtotID, if(result) {
'bedrag': subtotaal var sd2 = {
'id': subtotID,
'bedrag': subtotaal
}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd2, function (ok) {
});
}
},'json',);
}
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd2);
console.log(sd, 'regeltotaal')
}, },
@@ -526,7 +537,6 @@ ls.initBestemmingenModel = function(){
stuurMelding = false; stuurMelding = false;
totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget()) totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget())
console.log(subbudget , 'subbudget bij wijzigen scholing')
} }
break; break;
@@ -40,11 +40,16 @@ function fAddBedrag(p){
this.extra = ko.observable(p.extra); this.extra = ko.observable(p.extra);
if (this.extra() >=0) this.extra(p.extra / 100) if (this.extra() >=0) this.extra(p.extra / 100)
else this.extra(0); else this.extra(0);
this.deelbudgetten = ko.observable(p.deelbudgetten === "T");
this.vastgelegd = ko.observable(p.vastgelegd); this.vastgelegd = ko.observable(p.vastgelegd);
this.jaarclosed = ko.observable(true); this.jaarclosed = ko.observable(true);
if (p.jaarclosed == "F"){this.jaarclosed(false); }
if (p.jaarclosed == "F"){
this.jaarclosed(false);
}
this.screenbasis = ko.computed(function(){ this.screenbasis = ko.computed(function(){
var ssom = String(this.basis()); var ssom = String(this.basis());
@@ -144,6 +149,29 @@ ls.initMonfinBeheer2Model = function(){
} }
}); });
}, },
fToggleDeelbudget: function(){
let vm = ls.MonfinBeheer2Model;
let dit = this;
dit.deelbudgetten(! dit.deelbudgetten());
let sd = {
id : dit.id,
orgid : vm.selectedOrg().id,
jaarnr : dit.jaarnr,
deelbudgetten: dit.deelbudgetten() ? "T" : "F",
}
$.post("index.php/monpas/monfinbeheer/savedeelbudget",sd,function(newid){
if (newid) dit.id = newid;
});
},
fMaakSubmitData :function(dit){ fMaakSubmitData :function(dit){
var self = ls.MonfinBeheer2Model; var self = ls.MonfinBeheer2Model;
var ssom; var ssom;
+502 -68
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('');