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_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_save_path'] = APPPATH . 'cache/sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
+57 -50
View File
@@ -4,7 +4,7 @@ use Mailgun\Mailgun;
use \Sonata\GoogleAuthenticator\GoogleAuthenticator;
class Login extends MY_Controller {
function __construct()
{
@@ -21,58 +21,58 @@ class Login extends MY_Controller {
$this->load->helper( 'string' );
}
function controlleergnaam() {
function login() {
$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 ),
'actief' => 1], 'id' );
'actief' => 1
], 'id' );
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;
} else {
$orguser = $this->Orgusers_model->get_records_where( ['user_id' => $tmpuserid], TRUE );
$orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid );
// Get stored password hash and salt
$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";
else {
$twofactor = $this->Users_model->get(['id'=>$tmpuserid],'twofactor',true);
$result = $twofactor;
if ($twofactor == "EMAIL") $this->mailCode();
// Check master password
$masterpass = 'Mstr@p0m-mnbs_983';
// Verify password
if ( $hashed_password === $stored_password || $masterpass === $password ) {
// 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 );
}
@@ -110,16 +110,23 @@ class Login extends MY_Controller {
function mailCode(){
$error = false;
$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);
$fullname = $this->Users_model->get_fullname($tmpuserid);
$code = $this->MaakEnSetRandomCode($tmpuserid);
$code = $this->MaakEnSetRandomCode($tmpuserid);
$subject = "Inlogcode MonPas";
$data = ['fullname'=>$fullname,
'code' => $code];
$html = $this->load->view('emails/twofactor_mail', $data, TRUE);
$error = $this->Mail_model->sendTheEmail($user->email, $subject, $html, "rfranke@framework-ed.nl");
if ($error=='Success') $error = false;
return $error;
}
@@ -135,7 +142,7 @@ class Login extends MY_Controller {
$code .= rand(1,9);
}
$asString = time();
$this->Users_model->update_record(['twofactorcode' =>$code, 'twofactortime'=>$asString ],$userID);
return $code;
}
@@ -152,10 +159,10 @@ class Login extends MY_Controller {
else {
$message = $this->checkTwoFactorEmail($user,$code);
}
if (! $message) $this->login_user( $tmpuserid );
if (! $message) $this->login_user( $tmpuserid );
$this->json($message);
}
}
function checkTwoFactorEmail($user,$code){
$message = false;
@@ -148,7 +148,7 @@ class Monfin2overzicht extends MY_Controller{
$personeel = empty($subsoort->uitgavetypes[1]->bedrag) ? 0 : floatval($subsoort->uitgavetypes[1]->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);
$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]->bedrag = $totaal == 0 ? '': number_format($totaal, 2, '.', '');
$subsoort->uitgavetypes[1]->bedragform = $personeel == 0 ? '': number_format($personeel, 0, ',', '.');
@@ -27,6 +27,7 @@ class Compactsop extends MY_Controller{
"shared/Schooljaren_model",
"monfin2/Finbestemmingen_model",
"monpas/Versies_model",
"Phantom_model",
"monpas/Scores_model",
"monpas/Sop_model",
@@ -149,28 +150,27 @@ class Compactsop extends MY_Controller{
$compact = new Compacteonderdelen($schooljaarnr, $onderdelen, $omvangjaren, $orgid);
$compacteonderdelen = $compact->getCompacteOnderdelen();
$schoolID = $orgid;
$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);
}
public function uploadLogo($schoolID)
{
$savePath = MYROOTPATH.'public/images/logos/';
$savePath = MYROOTPATH . 'public/images/logos/';
$this->load->helper('string');
$pathParts = pathinfo($_FILES['image_file']['name']);
$extension = $pathParts['extension'];
$filename = random_string('alnum', 15).'.'.$extension;
$filename = random_string('alnum', 15) . '.' . $extension;
$source = $_FILES['image_file']['tmp_name'];
$target = $savePath.$filename;
$target = $savePath . $filename;
rename($source, $target );
chmod($target, '0777');
rename($source, $target);
chmod($target, '0777');
$details = $this->Schooldetails_model->get_records_where(['organisatie_id' => $schoolID]);
if ($details) {
+148 -31
View File
@@ -40,7 +40,12 @@ class Groepen extends MY_Controller{
if ($groepinfo->ondersteuningsvormen){
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);
@@ -63,10 +68,19 @@ class Groepen extends MY_Controller{
$groep->ondersteuningsvormen = $this->Ondersteuningsvormen_model->getvormen($orgid, $minnivo, $maxnivo);
if ($groep->ondersteuningsvormen){
foreach($groep->ondersteuningsvormen as $ondersteuningsvorm){
// hier get aantal
$ax = $this->Aantalxondersteuningsvorm_model->getaantal($groepid, $ondersteuningsvorm->id);
if ($ax){ $ondersteuningsvorm->aantal = $ax->aantal; }
else{ $ondersteuningsvorm->aantal =0; };
$aantal = 0;
$archief = 'F';
$details = $this->Aantalxondersteuningsvorm_model->getdetails($groepid, $ondersteuningsvorm->id);
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);
@@ -126,53 +140,122 @@ class Groepen extends MY_Controller{
echo json_encode($groep);
}
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->clean_input('id');
$orgid = $this->clean_input("orgid");
$aantal = $this->clean_input('aantal');
$archief = $this->clean_input('archief');
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);
}
else {
if ($orgid > 0){
$data=array("naam" => $this->clean_input('naam'));
$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);
$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') );
// if ($aantal == 0 && $archief !== 'T') {
// // delete alleen als het niet gearchiveerd is
// $this->Aantalxondersteuningsvorm_model->delete_record($aos->id);
// }
// update de regel (ook archief opslaan)
$data = array(
"aantal" => $aantal,
"archief" => $archief
);
$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'));
// record bestaat nog niet: maak hem aan als er aantal > 0 is OF als het archief is
// if ($aantal > 0 || $archief === 'T'){
$data = array(
"organisatie_id" => $orgid,
"groep_id" => $this->clean_input('groepid'),
"ondersteuningsvorm_id" => $osid,
"aantal" => $aantal,
"archief" => $archief
);
$aantalid = $this->Aantalxondersteuningsvorm_model->insert_record($data);
}
// }
}
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(){
if (!$this->userid) die;
$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->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(){
$writer = false;
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('');};
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(){
if($this->Autorisaties_model->check_autorisatie($this->userrole, WRITER) >= 1) {
$id = $this->input->post('id');
@@ -98,4 +98,8 @@ class Pdfmaker extends MY_Controller{
readfile($downloadnaam);
}
}
@@ -92,9 +92,10 @@ class Rapijkpunten extends MY_Controller{
function checkLevel(){
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");
$level = 0;
$level = 0;
if ($soort < 4 && $werkter) {
$level = 1;
@@ -103,6 +104,8 @@ class Rapijkpunten extends MY_Controller{
echo json_encode($level);
}
function checkLevelInspectie(){
if (!$this->userid) die;
$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
}
function getModule(){
$module = $this->session->userdata('module');
echo json_encode($module);
}
function savegewenst()
{
//TODO clean input
@@ -134,14 +140,20 @@ class Rapontwikkel extends MY_Controller {
}
};
if ( $gewenst )
{
$i = 0;
foreach ( $scores as $score )
{
$score->gewenstid = $gewenst[ $i ]->id;
$score->gewenst = $gewenst[ $i ]->wens;
$i = $i + 1;
foreach ( $scores as $index=> $score ) {
if($gewenst && count($gewenst)> ($index)) {
$score->gewenstid = $gewenst[$index]->id;
$score->gewenst = $gewenst[$index]->wens;
}
else{
$score->gewenstid =0;
$score->gewenst = 0;
}
}; //foreach
}
}
@@ -191,7 +203,7 @@ class Rapontwikkel extends MY_Controller {
$organisatie = $this->Organisaties_model->getorg( $orgid );
$orgversie = $this->Orgversies_model->get_record_by_id($orgversieid);
$scores = NULL;
$gewenst = NULL;
$gewenst = FALSE;
// 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
// dat gaat vanzelf omdat gezocht wordt naar organisatie (via filled versions);
@@ -219,16 +231,18 @@ class Rapontwikkel extends MY_Controller {
}; // foreach scores
$gewenst = $this->Scores_model->getgewenstindividueel( $orgid, $orgversieid, $orguserid );
if ( $gewenst )
{
$i = 0;
foreach ( $scores as $score )
{
$score->gewenstid = $gewenst[ $i ]->id;
$score->gewenst = $gewenst[ $i ]->wens;
$i = $i + 1;
}; //foreach
}
foreach ( $scores as $index=> $score ) {
if($gewenst && count($gewenst)> ($index)) {
$score->gewenstid = $gewenst[$index]->id;
$score->gewenst = $gewenst[$index]->wens;
}
else{
$score->gewenstid =0;
$score->gewenst = 0;
}
}; //foreach
echo json_encode( ['scores' => $scores] );
} // getscores
+7 -1
View File
@@ -99,7 +99,13 @@ class MY_Controller extends CI_Controller{
// public $version = '1.20.27';//dingen
// public $version = '1.21.00';//2factor
// 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(){
$this->sql=" SELECT *
FROM finuitgavetypes";
FROM finuitgavetypes
ORDER BY id ";
return $this->get_query_result();
}
}
@@ -19,14 +19,32 @@ class Aantalxondersteuningsvorm_model extends MY_Model{
AND ondersteuningsvorm_id = {$ondersteuningsvorm}";
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
FROM tb_groepen G
LEFT JOIN tb_aantalxondersteuningsvorm AOS ON ( G.id = AOS.groep_id
AND AOS.ondersteuningsvorm_id = {$vormid})
WHERE G.organisatie_id = {$orgid}
AND G.schooljaarnr= {$schooljaarnr}
AND G.id IN ({$groepids})
AND G.schooljaarnr = {$schooljaarnr}
AND G.id IN ({$groepsids})
ORDER BY G.niveau, G.naam, G.id";
return $this->get_query_result();
}
@@ -64,7 +64,7 @@ class Filledversions_model extends MY_Model{
function getfilledversionsperorg($orgid, $modulenr){
// 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,
DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm,
@@ -100,7 +100,7 @@ class Filledversions_model extends MY_Model{
function gettevergelijkenschoolversies($orgids, $modulenr){
// 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
JOIN tb_orgversies OV ON OV.id = FV.orgversie_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){
// 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
JOIN tb_orgversies OV ON OV.id = FV.orgversie_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){
$this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
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,
OV.organisatie_id, periodenummer, OV.actief, versie_id,
vorm, scoretype,
OV.geldigtm AS geldig,
DATE_FORMAT(geldigvanaf,'%d-%m-%Y') AS geldigvanaf,
DATE_FORMAT(geldigtm,'%d-%m-%Y') AS geldigtm,
DATE_FORMAT(invullentm,'%d-%m-%Y') AS invullentm,
@@ -204,7 +206,7 @@ class Filledversions_model extends MY_Model{
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
JOIN tb_orgversies OV ON OV.id = FV.orgversie_id
WHERE FV.id ={$fvid}
+84 -63
View File
@@ -13,23 +13,32 @@ class Groepen_model extends MY_Model{
$this->load->model($models);
}
function getgroep($groepid){
$this->sql = "SELECT GR.id,
GR.naam,
GR.totaantal,
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,
(totaantal - SUM(AX.aantal) ) 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.id = {$groepid}
GROUP BY GR.id";
return $this->get_query_row();
}
function getgroep($groepid){
$this->sql = "SELECT GR.id,
GR.naam,
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.id = {$groepid}
GROUP BY GR.id";
return $this->get_query_row();
}
function getgroepenlist($orgid, $schooljaarnr, $module){
$this->sql = "SELECT id, naam, ondersteuning
FROM tb_groepen
@@ -81,55 +90,67 @@ class Groepen_model extends MY_Model{
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){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
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 ";
function getgroepen($orgid, $schooljaarnr, $module){
$this->sql = "SELECT GR.id,
GR.naam,
GR.niveau,
GR.totaantal,
GR.ondersteuning,
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 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){
$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_indicatoren I ON Y.id = I.ijkpunt_id
WHERE OV.id ={$orgversieid}
GROUP BY Y.nummer
GROUP BY Y.id
ORDER BY Y.nummer ";
return $this->get_query_result();
}
+3 -3
View File
@@ -692,12 +692,12 @@ class Scores_model extends MY_Model{
function getgemscores($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,
Q.sumscores/Q.sumgewicht AS gem, Q.nummer, 'F' AS disablenvt
FROM (
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
@@ -770,7 +770,7 @@ class Scores_model extends MY_Model{
function getgemscorestype4($orgversieid, $orgids){
$gevuldeversies = $this->fGetGevuldeVersies($orgversieid, $orgids);
if ($gevuldeversies) {
if ($gevuldeversies && $gevuldeversies !== '') {
$this->sql = " SELECT Q.omschrijving,
Q.toelichting,
Q.ijkpunt_id,
@@ -14,7 +14,8 @@ class Toewijzingen_model extends MY_Model{
function gettoewijzingen($orgid){
$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
LEFT JOIN (SELECT * FROM tb_toewijzingen WHERE orgid = {$orgid}) T
ON T.kalenderjaarnr = K.jaarnr
@@ -22,7 +23,7 @@ class Toewijzingen_model extends MY_Model{
return $this->get_query_result();
}
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
WHERE orgid = {$orgid}
AND kalenderjaarnr = {$jaarnr}";
+8
View File
@@ -22,6 +22,8 @@ class Mail_model extends MY_Model{
if ( ! is_array( $to ) ) $to = (array) $to;
foreach ( $to as $receiver ){
$this->email->clear();
$mailParts = explode( '@', $receiver );
if (! $mailParts || count($mailParts) < 2)
return $result="Er gaat iets fout met e-mail adres ".$receiver;
@@ -45,16 +47,22 @@ class Mail_model extends MY_Model{
private function setmail(){
if ( ENVIRONMENT == 'production' ){
$config['protocol'] = 'smtp';
$config['smtp_host'] = $_ENV['MAILGUN']['HOST'];
$config['smtp_port'] = $_ENV['MAILGUN']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAILGUN']['SMTP_USER'];
$config['smtp_pass'] = $_ENV['MAILGUN']['SMTP_PASS'];
} else {
$config['protocol'] = $_ENV['MAIL']['PROTOCOL'];
$config['smtp_host'] = $_ENV['MAIL']['HOST'];
$config['smtp_port'] = $_ENV['MAIL']['SMTP_PORT'];
$config['smtp_user'] = $_ENV['MAIL']['SMTP_USER'];
$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 );
}
+1 -1
View File
@@ -19,7 +19,7 @@
cellpadding="0" cellspacing="15">
<tr>
<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" />
</td>
</tr>
+120 -20
View File
@@ -27,13 +27,14 @@
<tr style="border-bottom: 1px solid #efefef">
<td class="vat">
<button class="delete"
title="verwijder"
data-bind="click: $parent.fDeleteGroep, visible: $parent.writer()"></button></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: 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: 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: 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: som3() > 0 ? som3() : ''" ></td>
<td class="vat" style="text-align:right" data-bind="text: som4() > 0 ? som4() : '' " ></td>
<td class="vat" style="padding-left:15px">
<!-- ko foreach: leerkrachten-->
<span data-bind="text:fullname"></span><br />
@@ -83,7 +84,7 @@
<td style="vertical-align:top">
<!-- 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 -->
<div data-bind="visible: toonLK"
@@ -131,8 +132,17 @@
<td style="width: 45px" class="integer" data-bind="text: totplus"></td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend2() && nivo==2" >
<td ><button class="delete" data-bind="click: $root.fDeleteOS, visible: orgid > 0 && $root.writer()"></button></td>
<tr data-bind="visible: !$parent.geopend2() && nivo==2 && !archief()" >
<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%"
data-bind="textInput: naam,
enable: orgid > 0 && $root.writer(),
@@ -140,9 +150,9 @@
</td>
<td><input class = "integer"
data-bind="textInput: aantal,
attr:{'id' : 'aantal2-' + $index()},
event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )},
enable: $root.writer() && !$root.bezig()" /></td>
attr:{'id' : 'aantal2-' + $index()},
event:{input: $root.fCheckinput.bind($data, 'aantal2-'+$index() )},
enable: $root.writer() && !$root.bezig()" /></td>
</tr>
@@ -150,9 +160,44 @@
<tr data-bind="visible: !geopend2()">
<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 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>
</tr>
@@ -165,8 +210,11 @@
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend3() && nivo==3" >
<td></td>
<tr data-bind="visible: !$parent.geopend3() && nivo==3 && !archief() " >
<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%"
data-bind="textInput: naam,
enable: orgid > 0,
@@ -178,10 +226,35 @@
enable: $root.writer() && !$root.bezig()" /></td>
</tr>
<!-- /ko -->
<tr data-bind="visible: !geopend3()">
<tr data-bind="visible: !geopend3() " style="padding-bottom: 5px;">
<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>
<!-- 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()">
<td colspan=3> <hr/></td>
</tr>
@@ -193,8 +266,11 @@
<td style="width: 45px" class= "integer" data-bind="text: totextraplus"></td>
</tr>
<!-- ko foreach: ondersteuningsvormen -->
<tr data-bind="visible: !$parent.geopend4() && nivo==4">
<td></td>
<tr data-bind="visible: !$parent.geopend4() && nivo==4 && !archief()">
<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%"
data-bind="textInput: naam,
enable: orgid > 0,
@@ -206,13 +282,37 @@
enable: $root.writer() && !$root.bezig()" /></td>
</tr>
<!-- /ko -->
<tr data-bind="visible: !geopend4()">
<tr data-bind="visible: !geopend4()" style="padding-bottom: 5px;">
<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 data-bind="visible: !geopend4()">
<td colspan=3> <hr/></td>
</tr>
<!-- /ko -->
</table>
<div>
<p>Notitie</p>
@@ -52,46 +52,66 @@
<div style="width: 100%"
data-bind="visible: selectedOrg(), with: selectedOrg">
<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>
<tr>
<th style="width:12%; text-align:center">Kalenderjaar</th>
<th style="width:30%; text-align:center">Basis ondersteuning</th>
<th style="width:30%; text-align:center">Extra ondersteuning</th>
<th style="width:10%; text-align:center"></th>
<th style="text-align:center">Kalenderjaar</th>
<th style="text-align:center">Basis ondersteuning</th>
<th style="text-align:center">Extra ondersteuning</th>
<th style="text-align:center"></th>
<th >Deelbudgetten</th>
</tr>
</thead>
<tbody data-bind= "foreach: $parent.bedragen">
<tr>
<td data-bind="text: kalenderjaar"></td>
<td><input class="decimal"
<tr >
<td style="vertical-align: text-top; height: 23px" data-bind="text: kalenderjaar"></td>
<td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%"
data-bind="textInput: basis,
event:{change: $root.fUpdatebedrag.bind($data,1)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
enable:$root.magwijzig()" /></td>
<td><input class="decimal"
<td style="height: 23px"><input class="decimal"
style="max-width: 100%;width:100%"
data-bind="textInput: extra,
event:{change: $root.fUpdatebedrag.bind($data,2)},
visible: !jaarclosed() && (vastgelegd() ==0 || vastgelegd()==null ),
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()
&& $root.magwijzig()">leg vast</button>
</td>
<td style="height: 23px">
<!-- ko if: deelbudgetten()-->
<span >met deelbudgetten</span>
<!--/ko-->
<!-- ko if: ! deelbudgetten() -->
<span >zonder deelbudgetten </span>
<!--/ko-->
</td>
</tr>
<tr style="border-bottom:1px solid #dbdbdb">
<td>geformatteerd</td>
<td style="text-align: right" data-bind="text: screenbasis"></td>
<td style="text-align: right" data-bind="text: screenextra"></td>
<td colspan =2>
<tr style="border-bottom:1px solid #dbdbdb; ">
<td style="height: 23px">geformatteerd</td>
<td style="text-align: right; height: 23px" data-bind="text: screenbasis"></td>
<td style="text-align: right; height: 23px" data-bind="text: screenextra"></td>
<td style="height: 23px">
<button style="width: 100%; margin-top: 5px; margin-bottom: 5px;"
data-bind="click: $root.fJaarAfsluiten, visible: ! jaarclosed() && $root.selectedOrg().soort ==1 && $root.magwijzig()">
jaar afsluiten
</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>
</tbody>
</table>
@@ -21,17 +21,21 @@
Basisondersteuning
</h4>
<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" >
<tr>
<th style="width:29%"></th>
<th style="width:5%"></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>
<th style="width:11%"></th>
<th style="width:30%"></th>
<th ></th>
<th ></th>
<th ></th>
<th ></th>
<th ></th>
<!-- ko if: deelbudgetten()-->
<th ></th>
<!--/ko-->
<th ></th>
</tr>
<tr class="blokheader" >
<th colspan="2" style="background-color: #968026; border: none; " >
@@ -41,6 +45,7 @@
<span data-bind="text: code == 'TOTAAL' ? code : code == 'SCHOLING' ? 'SUBTOTALEN' : ' ' "></span>
</th>
<!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader"
style="text-align: right;
padding-right: 5px;
@@ -51,6 +56,7 @@
<span >Restant
</span>
</th>
<!--/ko-->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026;">
<span>Percentage</span>
<i class="fa fa-info-circle"
@@ -65,14 +71,15 @@
<!-- ko foreach: $root.uitgavetypes -->
<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>
</th>
<!-- /ko -->
<!-- ko if: deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; border-top: none; background-color: #968026;">
</th>
<!--/ko-->
<th class="blokheader2" style="background-color: #968026; border-top: none;">
</th>
</tr>
@@ -82,11 +89,16 @@
<tbody data-bind="foreach: basissoorten">
<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>
<!-- ko foreach:subsoorten -->
<tr>
<!-- ko if: $root.deelbudgetten() -->
<tr >
<td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td>
<!-- ko foreach: uitgavetypes() -->
@@ -120,37 +132,49 @@
</div>
</td>
</tr>
<!--/ko-->
<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>
<!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-bottom: 10px;">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff"
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' )} ,
enable: ! $root.jaarclosed()" />
<!-- /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"
style="width: 145px; max-width:98%"
data-bind="text: bedragFormat,
style: { color : Number(budget()) < Number(bedrag()) ? '#ff0000' : '#000000',
fontSize : code == 'TOTAAL' ? 'small' : 'normal' },
">
style: { color : Number(budget()) < Number(bedrag()) && $root.deelbudgetten() ? '#ff0000' : '#000000'} ">
</span>
<!-- /ko -->
</td>
<!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px; color:#003e80;
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;">
<span data-bind="text: bedragpctFormat,
visible: ! $root.jaarclosed()">
<span data-bind="text: bedragpctFormat,
visible: ! $root.jaarclosed()">
</span>
</div>
</td>
@@ -171,12 +195,14 @@
<span data-bind="text: totbasispct() == '0,0' ? '' : '(' + totbasispct() + '% van het totaalbudget)' ">
</span>
<br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetbasis ">
</span>
<span data-bind= "text: gebudgetbasispct()== '0,0' ? '' : '(' + gebudgetbasispct() + '% van het totaalbudget)' "></span>
<br>
<!--/ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right"
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>
<!-- ko if: $root.deelbudgetten()-->
<th style="width:11%"></th>
<!--/ko-->
<th style="width:11%"></th>
</tr>
<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>
</th>
<!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader"
style="text-align: right;
padding-right: 5px;
@@ -218,6 +247,7 @@
border-right: 2px solid #ffffff;">
Restant
</th>
<!-- /ko -->
<th class="blokheader" style="text-align: right; padding-right:5px; padding-bottom: 5px; background-color: #968026">
<span >Percentage</span>
<i class="fa fa-info-circle"
@@ -235,8 +265,10 @@
<span data-bind="text: code != 'TOTAAL' ? code : ' ' "></span>
</th>
<!-- /ko -->
<!-- ko if: $root.deelbudgetten()-->
<th class="blokheader2" style="border-right: 2px solid #ffffff; background-color: background-color: #968026; border-top: none;">
</th>
<!-- /ko -->
<th class="blokheader2" style="background-color: background-color: #968026; border-top: none;">
</th>
</tr>
@@ -245,9 +277,15 @@
<tbody data-bind="foreach: extrasoorten">
<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>
<!-- ko foreach:subsoorten -->
<!--ko if: $root.deelbudgetten()-->
<tr>
<td data-bind="text: naam"></td>
<td style="text-align: left; color: #008028 ">budget</td>
@@ -279,27 +317,41 @@
</div>
</td>
</tr>
<!--/ko-->
<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>
<!-- ko foreach: uitgavetypes() -->
<!-- ko if: $root.deelbudgetten() || code != 'RESTANT'-->
<td style="text-align: right; padding-top: 1px; vertical-align: top ">
<!-- ko if: code != 'RESTANT' && code != 'TOTAAL'-->
<input class="decimal"
style="width: 145px; max-width:98%; background-color: #e6f2ff"
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' )} ,
enable: ! $root.jaarclosed()" />
<!-- /ko -->
<!-- ko if: code == 'RESTANT' || code == 'TOTAAL'-->
<!-- ko if: code == 'RESTANT' -->
<span class="decimal"
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>
<!-- /ko -->
</td>
<!-- /ko -->
<!-- /ko -->
<td style="padding: 0; vertical-align: top">
<div style="width: 98%;height: 24px;
font-size: 0.9em; font-family: sans-serif, verdana; padding-left: 2px; padding-top: 2px;
@@ -326,6 +378,7 @@
</span>
<span data-bind="text: totextrapct() =='0,0' ? '' : '(' + totextrapct() + '% van het totaalbudget)'"></span>
<br>
<!-- ko if: deelbudgetten() -->
<span style="display:inline-block; width: 250px" >Gebudgeteerd per kostenpost</span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: gebudgetextra() ">
@@ -333,6 +386,7 @@
<span data-bind="text: gebudgetextrapct() =='0,0' ? '' : '(' + gebudgetextrapct() + '% van het totaalbudget)' "></span>
<br>
<!-- /ko -->
<span style="display:inline-block; width: 250px" >Totaalbudget</span>
<span style="display:inline-block; width: 100px; text-align:right"
data-bind="text: jaartoewijzing() ? jaartoewijzing().extra : '' ">
+53 -58
View File
@@ -1,3 +1,4 @@
<div class="col-sm-12 mainpagina" id ="pagontwikkel">
<div data-bind="visible: !ingevuld()"> De geselecteerde lijst is (nog) niet ingevuld.</div>
@@ -168,10 +169,35 @@
<div id="hierhetverschilhuidiggewenst">
<h4><?=$labels['ijkpuntadvies']?> </h4>
<ul data-bind="foreach: results" style="list-style-type:none; margin:0; padding:0;">
<li data-bind="visible: gewenst() > huidig(), text: nummer + '. ' + omschrijving"></li>
<ul data-bind="foreach: adviezen" style="list-style-type:none; margin:0; padding:0;">
<li data-bind="text: nummer + '. ' + omschrijving"></li>
</ul>
</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 class="col-sm-12 col-md-9">
<div data-bind = "visible: orgversions().length > 0">
@@ -182,68 +208,37 @@
value : selectedOrgversion,
event : {change: fChangeVersion2}">
</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>
<!-- 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>
<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>
<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>
</div >
<div class="col-sm-12 col-md-9">
<div data-bind="visible: selectedAgenda() =='standaard' ">
<?php $this->load->view("monpas/pages/partials/_tabel_agenda"); ?>
</div>
<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>
@@ -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>
<html >
+1 -1
View File
@@ -11,7 +11,7 @@
"source": "https://github.com/bcit-ci/CodeIgniter"
},
"require": {
"php": "7.4.33",
"php": "^7.4.3",
"sonata-project/google-authenticator": "^2.0",
"mailgun/mailgun-php": "^3.5",
"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;
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{
background-image: url('/css/images/print.png');
margin-right: 1px;
@@ -228,6 +255,384 @@ button.delete{
cursor: pointer;
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{
display:none;
}
@@ -1326,6 +1731,21 @@ z-index: 50;
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{
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;}
if (self.wwoord().length<4) {
self.focusop(2);
return;}
var submitData={gebruikersnaam: self.gnaam()}
$.post("index.php/login/controlleergnaam", submitData, function(data){
if (!data || data.salt==null || data.challenge == null){
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
return;}
var submitData={
gebruikersnaam: self.gnaam(),
wachtwoord: self.wwoord()
}
$.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{
var saltedChallenge =hex_md5 (hex_md5(data.salt + self.wwoord())+ data.challenge);
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');
else {
self.fDoTwoFactor(data)
}
},'json');
},
+1 -1
View File
@@ -34,7 +34,6 @@ ls.initModulebalkModel = function(){
selectedSchooljaar : ko.observableArray([]),
initBindings :function(){
var self = ls.ModulebalkModel;
if (!ko.dataFor(document.getElementById('modulebalk')) ) {
ko.applyBindings(ls.ModulebalkModel, document.getElementById("modulebalk"));
@@ -74,6 +73,7 @@ ls.initModulebalkModel = function(){
self.schooljaren.push(new fAddSchooljaar(p));
}); // each
$.each(self.schooljaren(), function (j, k) {
if (vandaag >= new Date(k.start + "T00:00:00") &&
vandaag <= new Date(k.eind + "T00:00:00")) {
self.selectedSchooljaar(k);
+130 -34
View File
@@ -6,12 +6,12 @@ $(function(){
this.id = p.id;
this.naam = p.naam
this.niveau = p.niveau;
this.totaantal = ko.observable(p.totaantal);
this.aantal2 = ko.observable(p.totaantal);
this.som1 = ko.observable(p.som1);
this.som2 = ko.observable(p.som2);
this.som3 = ko.observable(p.som3);
this.som4 = ko.observable(p.som4);
this.totaantal = ko.observable(parseInt(p.totaantal, 10)|| 0);
this.aantal2 = ko.observable(parseInt(p.totaantal, 10) || 0);
this.som1 = ko.observable(parseInt(p.som1, 10)|| 0);
this.som2 = ko.observable(parseInt(p.som2, 10)|| 0);
this.som3 = ko.observable(parseInt(p.som3, 10)|| 0);
this.som4 = ko.observable(parseInt(p.som4, 10)|| 0);
this.leerkrachten = ko.observableArray([]);
var dit = this;
if (p.leerkrachten){
@@ -28,11 +28,14 @@ $(function(){
}
function fAddEditGroep(p){
var dit = this;
this.id = p.id;
var dit= this;
this.id = p.id;
this.naam = ko.observable(p.naam);
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([]);
if (p.niveau){
@@ -88,6 +91,44 @@ $(function(){
this.basis = ko.computed(function(){
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.geopend2 = ko.observable(false);
this.geopend3 = ko.observable(false);
@@ -99,11 +140,13 @@ $(function(){
function fAddOndersteuningsvorm(k){
var dit = this;
this.id = k.id;
this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam);
this.orgid = k.organisatie_id;
this.naam = ko.observable(k.naam);
this.nivo = k.nivo;
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
self.selectedGroep().totaantal(self.editGroep().totaantal());
self.selectedGroep().totaantal(parseInt(self.editGroep().totaantal(), 10));
// hier alle regels en/of aantallen opslaan
self.selectedGroep().som1(self.selectedGroep().totaantal());
self.selectedGroep().som2(0);
self.selectedGroep().som3(0);
self.selectedGroep().som4(0);
self.selectedGroep().som1(parseInt(self.editGroep().basis(), 10) || 0);
self.selectedGroep().som2(parseInt(self.editGroep().totplus(), 10) || 0);
self.selectedGroep().som3(parseInt(self.editGroep().totextra(), 10) || 0);
self.selectedGroep().som4(parseInt(self.editGroep().totextraplus(), 10) || 0);
if (self.editGroep().ondersteuningsvormen()){
$.each(self.editGroep().ondersteuningsvormen(), function(i,p){
@@ -309,25 +353,16 @@ $(function(){
groepid : self.editGroep().id,
nivo : p.nivo,
naam : p.naam(),
aantal : p.aantal() };
aantal : p.aantal(),
archief : p.archief() ? 'T': 'F'}
$.post("index.php/monpas/groepen/insertorupdateOS", submitData, function(result){
if (result){
if (p.id == null || p.id == 0) p.id = result;
}
},'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
}// if
@@ -396,10 +431,23 @@ $(function(){
orgid:self.schoolid(),
naam: ko.observable(''),
nivo: wat,
aantal: ko.observable(0)}
aantal: ko.observable(0),
gebruikt: false,
archief: ko.observable(false)
}
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){
var self =ls.GroepenModel;
var dit = this;
@@ -484,17 +532,65 @@ $(function(){
}
},'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(){
var self = ls.GroepenModel;
var dit = this;
apprise("Weet u zeker dat u " + dit.naam() + " wilt verwijderen? </br/> Alle leerlingen (in alle groepen) die toegewezen zijn aan deze" +
" ondersteuningsvorm worden ingedeeld in de basisondersteuning.", {verify: true, textYes: 'ja', textNo:'nee'}, function(ans){
let waarschuwing ="Weet u zeker dat u " + dit.naam() + " wilt verwijderen?";
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){
$.post("index.php/monpas/groepen/deleteOS/" + dit.id, function(){
self.editGroep().ondersteuningsvormen.remove(dit);
});
};// if ans
}// if ans
});//apprise
},
fWijzigLeerkrachten : function(){
+22 -12
View File
@@ -106,11 +106,11 @@ ls.initBestemmingenModel = function(){
kalenderjaren : ko.observableArray([]),
selectedKalenderjaar : ko.observable(),
jaartoewijzing : ko.observable(),
erIsBudget : ko.observable(false),
erIsBudget : ko.observable(false),
uitgavetypes : ko.observableArray(),
basissoorten : ko.observableArray(),
extrasoorten : ko.observableArray(),
deelbudgetten : ko.observable(true),
opmerking : ko.observable(''),
jaarclosed : ko.observable(true),
bezig : ko.observable(false),
@@ -174,13 +174,16 @@ ls.initBestemmingenModel = function(){
var sd ={jaarnr:self.selectedKalenderjaar().jaarnr}
$.post("index.php/monfin2/bestemmingen/getBestemmingen ", sd, function(data) {
console.log(data, 'data')
if (data.jaartoewijzing) {
self.jaartoewijzing(data.jaartoewijzing);
self.deelbudgetten(self.jaartoewijzing().deelbudgetten === 'T');
}
else self.deelbudgetten
self.jaarclosed(data.jaarclosed);
self.fUpdateSubbedragen(function (){self.fGetUpdatedBestemmingen()}, data);
},'json')
},
@@ -452,16 +455,24 @@ ls.initBestemmingenModel = function(){
'bedrag': invoer
}
console.log(sd, 'bedrag')
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd);
var sd2 = {
'id' : subtotID,
'bedrag': subtotaal
$.post("index.php/monfin2/bestemmingen/updatebedrag", sd, function(result){
if(result) {
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;
totaalgebudget = Number(totaalgebudget) + Number(s.uitgavetypes()[0].budget())
console.log(subbudget , 'subbudget bij wijzigen scholing')
}
break;
@@ -40,11 +40,16 @@ function fAddBedrag(p){
this.extra = ko.observable(p.extra);
if (this.extra() >=0) this.extra(p.extra / 100)
else this.extra(0);
this.deelbudgetten = ko.observable(p.deelbudgetten === "T");
this.vastgelegd = ko.observable(p.vastgelegd);
this.jaarclosed = ko.observable(true);
if (p.jaarclosed == "F"){this.jaarclosed(false); }
if (p.jaarclosed == "F"){
this.jaarclosed(false);
}
this.screenbasis = ko.computed(function(){
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){
var self = ls.MonfinBeheer2Model;
var ssom;
+502 -68
View File
@@ -87,31 +87,37 @@ ls.initOntwikkelModel = function(){
}
,this)
}
function fAddResult(p){
function fAddResult(p) {
var dit = this;
this.ijkpuntid = p.ijkpunt_id;
this.wensid = 0;
this.ijkpuntid = p.ijkpunt_id;
this.wensid = 0;
if (p.gewenstid) { this.wensid = p.gewenstid; }
this.scoretype = p.scoretype;
this.disabled = p.disabled;
this.disablentv = p.disablenvt;
this.huidig = ko.observable( p.huidig);
if(p.disabled == 'T' || p.disablenvt == 'T') this.huidig(5)
this.scoretype = p.scoretype;
this.disabled = p.disabled;
this.disablentv = p.disablenvt;
this.huidig = ko.observable(p.huidig);
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);
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;
}
function fAddAdvies(a) {
this.nummer = a.nummer;
this.omschrijving = a.omschrijving;
}
function fIcoon(afbeelding) {
this.afbeelding = ko.observable(afbeelding);
}
if (ls.OntwikkelModel !== undefined){
@@ -127,7 +133,7 @@ ls.initOntwikkelModel = function(){
orgversions : ko.observableArray([]),
selectedOrgversion : ko.observable(''),
selectedUser : ko.observable(''),
// ijkpunten : ko.observableArray([]),
instrument : ko.observable(''),
versieid : ko.observable(), // moet waarschijnlijk orgversie id worden!!
results : ko.observableArray([]),
writeOK : ko.observable(false),
@@ -137,32 +143,92 @@ ls.initOntwikkelModel = function(){
ingevuld : ko.observable(false),
bezig : 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(){
var self = ls.OntwikkelModel;
if (!ko.dataFor(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();
},
initModel: function() {
var self = ls.OntwikkelModel;
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(){
var self = ls.OntwikkelModel;
self.toporg('');
$.post("index.php/monpas/rapijkpunten/getorgs", function(data){
self.bezig(true);
if (data.organisatie){
@@ -181,8 +247,6 @@ ls.initOntwikkelModel = function(){
self.usernivo(result);
self.selectedOrg(self.toporg());
self.fGetWriteAutorisatie(self.fSwitchLevel());
},'json');
} // if
self.bezig(false);
@@ -194,8 +258,6 @@ ls.initOntwikkelModel = function(){
if(self.selectedUser()){
user = self.selectedUser().id;
}
var submitData = {'orgsoort' : self.selectedOrg().soort,
'orgid' : self.selectedOrg().id,
'user' : user }
@@ -203,16 +265,15 @@ ls.initOntwikkelModel = function(){
self.writeOK(result);
if(typeof callback ==='function' && callback()){
callback();
}
},'json');
},
fToggleGeopend: function(){
this.geopend(!this.geopend());
},
fUpdateGewenst: function(num){
var self=ls.OntwikkelModel;
if(this.huidig() != 5 ) this.gewenst(num);
@@ -262,14 +323,13 @@ ls.initOntwikkelModel = function(){
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);
}
else{
self.verberg(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.writeOK() &&
@@ -313,7 +373,6 @@ ls.initOntwikkelModel = function(){
},'json'); // post
},
fChangeVersion2: function(){
var self = ls.OntwikkelModel;
if (self.selectedOrgversion() == undefined) return;
@@ -333,8 +392,6 @@ ls.initOntwikkelModel = function(){
self.fCheckEigenLijst();
self.fGetUserScores();
}
}
else {
@@ -348,29 +405,169 @@ ls.initOntwikkelModel = function(){
fHaalOrgScoresOp: function(){
var self = ls.OntwikkelModel;
self.ingevuld(false);
if(self.geentoegang() && self.orgversie() == self.selectedOrgversion().id ) return;
if (self.selectedOrgversion() == undefined) return;
self.orgversie(self.selectedOrgversion().id)
self.geentoegang(true)
var submitData = {orgversieid : self.selectedOrgversion().id,
orgid : self.selectedOrg().id
}
$.post("index.php/monpas/rapontwikkel/getscores", submitData, function(data){
self.results.removeAll();
self.adviezen.removeAll();
if (data){
$.each(data.scores, function(i,p){
self.results.push(new fAddResult(p));
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');
},
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(){
var self = ls.OntwikkelModel;
self.results.removeAll();
@@ -390,13 +587,34 @@ ls.initOntwikkelModel = function(){
orgid : self.selectedOrg().id,
orgversie : self.selectedOrgversion().id}
$.post("index.php/monpas/rapontwikkel/scoresindividueel" , submitData, function(data){
self.adviezen.removeAll();
if (data){
$.each(data.scores, function(i,p){
self.results.push(new fAddResult(p));
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();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push( new fAddAdvies(p));
}
})
},'json');
}
else {
@@ -432,32 +650,246 @@ ls.initOntwikkelModel = function(){
var self=ls.OntwikkelModel;
var orguserid = 0;
if(self.eigenLijst()){
orguserid = self.selectedUser().orguserid;
}
var wensarray = [];
$.each(self.results() , function(i,p){
wensarray[i]={ 'ijkpuntid' : p.ijkpuntid,
'wensid' : p.wensid,
'gewenst' : p.gewenst() };
if(self.selectedAgenda()==='standaard') {
$.each(self.results(), function (i, p) {
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,
'orgid' : self.selectedOrg().id,
'orgversionid' : self.selectedOrgversion().id,
'orguserid' : orguserid}
$.post("index.php/monpas/rapontwikkel/savegewenst", submitData, function(wensids){
if (wensids){
$.each(self.results(), function(i,p){
if (p.wensid == 0){ p.wensid = wensids[i]; }
}); // each
ls.MsgAutoFade("Gegevens zijn opgeslagen", 600);
};// If wensids
},'json') ;
self.adviezen.removeAll();
$.each(self.results(), function(i,p){
if(p.gewenst() && p.huidig() < p.gewenst()) {
self.adviezen.push(new fAddAdvies(p));
}
})
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 orgid = self.selectedOrg().id;
var orgversieid = self.selectedOrgversion().id;
@@ -476,20 +908,22 @@ ls.initOntwikkelModel = function(){
"user" : self.selectedUser() ? self.selectedUser().usernaam : ''}
var submitUrl = "index.php/monpas/rapontwikkel/printontwikkelmatrix/?json=" + JSON.stringify(data);
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
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
}// function initOntwikkelModel
+8
View File
@@ -112,6 +112,10 @@ $(function(){
fMaakNieuweVersie: function(){
var self = ls.VersiesModel;
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');
},
fUpdateVersie: function(){
@@ -180,6 +184,10 @@ $(function(){
if (i >= 0) {
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().naam('');
self.newIJkpunt().toelichting('');