Merge branch 'feature/SWVsop' into develop

This commit is contained in:
2025-01-06 14:43:29 +01:00
14 changed files with 178 additions and 116 deletions
+3
View File
@@ -109,3 +109,6 @@ documents/compactsops/
/public/css/images/samenGroen.png /public/css/images/samenGroen.png
/public/css/images/samenOranje.png /public/css/images/samenOranje.png
/public/css/images/samenRood.png /public/css/images/samenRood.png
/public/openbaredocs/handleidingdubbeleautheticatie_2024.pdf
/public/openbaredocs/Googleauthenticator.docx
/public/openbaredocs/Googleauthenticator.pdf
+29 -26
View File
@@ -218,33 +218,36 @@ class Login extends MY_Controller {
$data = ['username' => $username, 'password' => $password, 'fullname' => $this->Users_model->get_fullname( $userid )]; $data = ['username' => $username, 'password' => $password, 'fullname' => $this->Users_model->get_fullname( $userid )];
$html = $this->load->view( 'emails/newpassword_mail', $data, TRUE ); $html = $this->load->view( 'emails/newpassword_mail', $data, TRUE );
if( $_ENV['ENVIRONMENT'] == 'production')
{
//Deze code wordt alleen op produktie gebruikt en stuurt de mail
//naar Mailgun via een API (Codeigniter email library wordt niet gebruikt
$mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] );
$mg->messages()->send( $_ENV['MAIL']['DOMAIN'], [
'from' => 'info@monpas.nl',
'to' => $email,
'cc' => 'rfranke@framework-ed.nl',
'subject' => 'Inloggegevens MonPas',
'html' => $html,
'inline' => [
[
'filename' => 'monpasklein.png',
'filePath' => FCPATH . 'css/images/monpasklein.png']
]
] );
}else{
$this->load->library( 'email' );
$this->email->from( 'noreply@framework.nl', 'Framework+ MonPas' ); $this->Mail_model->sendTheEmail($email, 'Inloggegevens MonPas', $html, "rfranke@framework-ed.nl");
$this->email->to( $email );
$this->email->subject( 'Inloggegevens MonPas' ); // if( $_ENV['ENVIRONMENT'] == 'production')
$this->email->message( $this->load->view( 'emails/newpassword_mail', $data, TRUE ) ); // {
$this->email->bcc( "rfranke@framework-ed.nl" ); // //Deze code wordt alleen op produktie gebruikt en stuurt de mail
$this->email->send(); // //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt
} // $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] );
// $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], [
// 'from' => 'info@monpas.nl',
// 'to' => $email,
// 'cc' => 'rfranke@framework-ed.nl',
// 'subject' => 'Inloggegevens MonPas',
// 'html' => $html,
// 'inline' => [
// [
// 'filename' => 'monpasklein.png',
// 'filePath' => FCPATH . 'css/images/monpasklein.png']
// ]
// ] );
// }else{
// $this->load->library( 'email' );
//
// $this->email->from( 'noreply@framework.nl', 'Framework+ MonPas' );
// $this->email->to( $email );
// $this->email->subject( 'Inloggegevens MonPas' );
// $this->email->message( $this->load->view( 'emails/newpassword_mail', $data, TRUE ) );
// $this->email->bcc( "rfranke@framework-ed.nl" );
// $this->email->send();
// }
$result['errortekst'] = 'Er is een e-mail gestuurd naar ' . $email . ' met uw nieuwe wachtwoord.'; $result['errortekst'] = 'Er is een e-mail gestuurd naar ' . $email . ' met uw nieuwe wachtwoord.';
$result['status'] = TRUE; $result['status'] = TRUE;
+54 -54
View File
@@ -165,34 +165,34 @@ class Users extends MY_Controller{
$html = $this->load->view('emails/newuser_mail', $data, TRUE); $html = $this->load->view('emails/newuser_mail', $data, TRUE);
if( $_ENV['ENVIRONMENT'] == 'production') // if( $_ENV['ENVIRONMENT'] == 'production')
{ // {
//Deze code wordt alleen op produktie gebruikt en stuurt de mail // //Deze code wordt alleen op produktie gebruikt en stuurt de mail
//naar Mailgun via een API (Codeigniter email library wordt niet gebruikt // //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt
$mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] ); // $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] );
//
$mailData = [ // $mailData = [
'from' => 'info@monpas.nl', // 'from' => 'info@monpas.nl',
'to' => $user->email, // 'to' => $user->email,
'cc' => 'rfranke@framework-ed.nl', // 'cc' => 'rfranke@framework-ed.nl',
'subject' => 'Inloggegevens MonPas', // 'subject' => 'Inloggegevens MonPas',
'html' => $html, // 'html' => $html,
'inline' => [ // 'inline' => [
[ // [
'filename' => 'monpasklein.png', // 'filename' => 'monpasklein.png',
'filePath' => FCPATH . 'css/images/monpasklein.png'] // 'filePath' => FCPATH . 'css/images/monpasklein.png']
] // ]
]; // ];
//
if( $org->randomname ) $mailData['attachment'][0] = [ // if( $org->randomname ) $mailData['attachment'][0] = [
'filename' => $org->bijlagefile, // 'filename' => $org->bijlagefile,
'filePath' => MYROOTPATH. 'docs/'.$org->randomname ]; // 'filePath' => MYROOTPATH. 'docs/'.$org->randomname ];
//
$mg->messages()->send( $_ENV['MAIL']['DOMAIN'], $mailData ); // $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], $mailData );
}else{ // }else{
$this->load->library('email'); $this->load->library('email');
$this->email->from('noreply@framework.nl', 'Framework+ MonPas'); $this->email->from('info@monpas.nl', 'Framework+ MonPas');
$this->email->to($user->email); $this->email->to($user->email);
$this->email->subject('Inloggegevens MonPas'); $this->email->subject('Inloggegevens MonPas');
$this->email->message($this->load->view('emails/newuser_mail', $data, TRUE)); $this->email->message($this->load->view('emails/newuser_mail', $data, TRUE));
@@ -200,7 +200,7 @@ class Users extends MY_Controller{
if ($org->randomname) if ($org->randomname)
$this->email->attach('./../docs/'.$org->randomname,'attachment', $org->bijlagefile); $this->email->attach('./../docs/'.$org->randomname,'attachment', $org->bijlagefile);
$this->email->send(); $this->email->send();
} // }
} }
function updateuser2(){ function updateuser2(){
@@ -326,42 +326,42 @@ class Users extends MY_Controller{
$html = $this->load->view( 'emails/newpassword_mail', $data, TRUE ); $html = $this->load->view( 'emails/newpassword_mail', $data, TRUE );
$org = $this->getBijlage($orgid); $org = $this->getBijlage($orgid);
if( $_ENV['ENVIRONMENT'] == 'production') // if( $_ENV['ENVIRONMENT'] == 'production')
{ // {
//Deze code wordt alleen op produktie gebruikt en stuurt de mail // //Deze code wordt alleen op produktie gebruikt en stuurt de mail
//naar Mailgun via een API (Codeigniter email library wordt niet gebruikt // //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt
$mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] ); // $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] );
$mailData = [ // $mailData = [
'from' => 'info@monpas.nl', // 'from' => 'info@monpas.nl',
'to' => $user->email, // 'to' => $user->email,
'cc' => 'rfranke@framework-ed.nl', // 'cc' => 'rfranke@framework-ed.nl',
'subject' => 'Inloggegevens MonPas', // 'subject' => 'Inloggegevens MonPas',
'html' => $html, // 'html' => $html,
'inline' => [ // 'inline' => [
[ // [
'filename' => 'monpasklein.png', // 'filename' => 'monpasklein.png',
'filePath' => FCPATH . 'css/images/monpasklein.png'] // 'filePath' => FCPATH . 'css/images/monpasklein.png']
] // ]
]; // ];
if( $org->randomname ) $mailData['attachment'][0] = [ // if( $org->randomname ) $mailData['attachment'][0] = [
'filename' => $org->bijlagefile, // 'filename' => $org->bijlagefile,
'filePath' => MYROOTPATH. 'docs/'.$org->randomname ]; // 'filePath' => MYROOTPATH. 'docs/'.$org->randomname ];
//
$mg->messages()->send( $_ENV['MAIL']['DOMAIN'], $mailData ); // $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], $mailData );
}else // }else
{ // {
$this->load->library( 'email' ); $this->load->library( 'email' );
$this->email->from( 'noreply@framework.nl', 'Framework+ MonPas' ); $this->email->from( 'info@monpas.nl', 'Framework+ MonPas' );
$this->email->to( $user->email ); $this->email->to( $user->email );
$this->email->subject( 'Inloggegevens MonPas' ); $this->email->subject( 'Inloggegevens MonPas' );
$this->email->message( $html ); $this->email->message( $html );
$this->email->bcc( "rfranke@framework-ed.nl" ); $this->email->bcc( "rfranke@framework-ed.nl" );
$this->email->attach(MYROOTPATH. 'docs/'.$org->randomname,'attachment', $org->bijlagefile); // $this->email->attach(MYROOTPATH. 'docs/'.$org->randomname,'attachment', $org->bijlagefile);
$this->email->send(); $this->email->send();
$result = $this->email->print_debugger(); $result = $this->email->print_debugger();
} // }
echo json_encode(array('ok'=>$ok, 'errortekst'=>$errortekst)); echo json_encode(array('ok'=>$ok, 'errortekst'=>$errortekst));
} }
+4 -1
View File
@@ -96,7 +96,10 @@ class MY_Controller extends CI_Controller{
// public $version = '1.20.23';// bugetsom gebudgeteerde bedragen in plaats van budget in totaal // public $version = '1.20.23';// bugetsom gebudgeteerde bedragen in plaats van budget in totaal
// public $version = '1.20.24';// foutje in afvangen te vroeg aanroepen jaarbudget in callback // public $version = '1.20.24';// foutje in afvangen te vroeg aanroepen jaarbudget in callback
// public $version = '1.20.26';//gebudgetterde bedragen ipv toegekende budgtten in overzicht monfin, analoog aan bestemmingen // public $version = '1.20.26';//gebudgetterde bedragen ipv toegekende budgtten in overzicht monfin, analoog aan bestemmingen
public $version = '1.20.27';//dingen // 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
+5 -5
View File
@@ -22,11 +22,9 @@ class Mail_model extends MY_Model{
if ( ! is_array( $to ) ) $to = (array) $to; if ( ! is_array( $to ) ) $to = (array) $to;
foreach ( $to as $receiver ){ foreach ( $to as $receiver ){
$mailParts = explode( '@', $receiver ); $mailParts = explode( '@', $receiver );
if (! $mailParts || count($mailParts) < 2) return $result="Er gaat iets fout met e-mail adres ".$receiver; if (! $mailParts || count($mailParts) < 2)
return $result="Er gaat iets fout met e-mail adres ".$receiver;
// moet dit gebeuren? $this->setmail();
$this->email->to( $receiver ); $this->email->to( $receiver );
$this->email->from( 'info@monpas.nl', 'Framework MonPas' ); $this->email->from( 'info@monpas.nl', 'Framework MonPas' );
@@ -35,7 +33,9 @@ class Mail_model extends MY_Model{
$this->email->subject( $subject ); $this->email->subject( $subject );
$this->email->message( $html ); $this->email->message( $html );
if ( ! $this->email->send() ){ $sendResult = $this->email->send();
if ( ! $sendResult ){
$result = $this->email->print_debugger(); $result = $this->email->print_debugger();
}; };
} }
@@ -269,11 +269,12 @@
</tr> </tr>
<?php ;} ; ?> <?php ;} ; ?>
</tbody> </tbody>
<tr > <!-- <tr >-->
<td colspan="8" <!-- <td colspan="8"-->
class="inforegel">Scores in procenten</td> <!-- class="inforegel">Scores in procenten</td>-->
</tr> <!-- </tr>-->
</table> </table>
<span>scores in procenten</span>
<?php }; ?> <!-- if lijst[0]->scores --> <?php }; ?> <!-- if lijst[0]->scores -->
</div> </div>
</div> </div>
@@ -3,7 +3,7 @@
data-bind=" css{ geenrand: selected} "> data-bind=" css{ geenrand: selected} ">
<!-- class="naamvak"--> <!-- class="naamvak"-->
<div class="panel-heading" <div class="panel-heading"
style="height: 60px;" style="height: 60px; padding-top: 0"
data-bind="css: {lichtsop: geenGegevens(), witsop: selected() }"> data-bind="css: {lichtsop: geenGegevens(), witsop: selected() }">
<h4 data-bind="text: toonnummer + '. ' + naam, <h4 data-bind="text: toonnummer + '. ' + naam,
click: $root.fSelecteerOnderdeel"> click: $root.fSelecteerOnderdeel">
@@ -34,9 +34,16 @@
style="background-color:#930f50; style="background-color:#930f50;
color: white; padding: 10px; margin: 5px; color: white; padding: 10px; margin: 5px;
margin-right: 15px; height: 150px; "> margin-right: 15px; height: 150px; ">
<label style="padding-top: 15px; width: 50px; font-size: small;" <!-- <label style="padding-top: 15px; width: 50px; font-size: small;"-->
data-bind="text: toonnummer + '. ' + naamkort "> <!-- data-bind="text: toonnummer + '. ' + naamkort ">-->
</label> <!-- </label>-->
<table style="width: 100%">
<tr>
<td style="width: 18%; vertical-align: text-top; font-size: small" data-bind="text: toonnummer + '.' "></td>
<td style="width: 82%; vertical-align: text-top; font-size: small; word-break: break-word; white-space: normal"
data-bind=" text: naamkort == 'Basisondersteuning' ? 'Basisonder- steuning' : naamkort == 'Tevredenheid school' ? 'Tevreden- heid school' : naamkort "></td>
</tr>
</table>
</div> </div>
<!-- /ko --> <!-- /ko -->
<!-- ko if : isBreedBlok() --> <!-- ko if : isBreedBlok() -->
@@ -44,9 +51,15 @@
data-bind="click: $root.fAnnuleerOnderdeel" data-bind="click: $root.fAnnuleerOnderdeel"
style="background-color:#930f50; color: white; style="background-color:#930f50; color: white;
margin: 5px; padding: 10px; height: 150px; "> margin: 5px; padding: 10px; height: 150px; ">
<label style="padding-top: 15px; width: 50px; font-size: small;" <!-- <label style="padding-top: 15px; width: 50px; font-size: small;"-->
data-bind="text: toonnummer + '. ' + naamkort "> <!-- data-bind="text: toonnummer + '. ' + naamkort ">-->
</label> <!-- </label>-->
<table style="width: 100%">
<tr>
<td style="width: 9%; font-size: small; vertical-align: text-top" data-bind="text: toonnummer"></td>
<td style="width: 91%; font-size: small; vertical-align: text-top; word-break: break-word; white-space: normal" data-bind=" text: naamkort"></td>
</tr>
</table>
</div> </div>
<!-- /ko --> <!-- /ko -->
</div><!-- for each onderdelen --> </div><!-- for each onderdelen -->
@@ -23,8 +23,16 @@
</div> </div>
<div data-bind="visible: gevuld()"> <div data-bind="visible: gevuld()">
<div style="color: white; font-size: small; word-break: break-word " data-bind="text: toonnummer() + '. ' + naamkort()"> <!-- <div style="color: white; font-size: small; word-break: break-word " data-bind="text: toonnummer() + '. ' + naamkort()">-->
</div> <!-- </div>-->
<table style="width: 100%">
<tr>
<td style="width: 18%; vertical-align: text-top; font-size: small; color: white" data-bind="text: toonnummer() + '.' "></td>
<td style="width: 82%; vertical-align: text-top; font-size: small; word-break: break-word; white-space: normal; color: white"
data-bind=" text: naamkort() == 'Basisondersteuning' ? 'Basisonder- steuning' : naamkort() == 'Tevredenheid school' ? 'Tevreden- heid school' : naamkort() "></td>
</tr>
</table>
</div> </div>
</div> </div>
<!-- /ko --> <!-- /ko -->
@@ -78,8 +86,15 @@
</div> </div>
<div data-bind="visible: gevuld()"> <div data-bind="visible: gevuld()">
<div style="color: white; font-size: small; word-break: break-word " data-bind="text: toonnummer() + '. ' + naamkort()"> <!-- <div style="color: white; font-size: small; word-break: break-word " data-bind="text: toonnummer() + '. ' + naamkort()">-->
</div> <!-- </div>-->
<table style="width: 100%">
<tr>
<td style="width: 9%; vertical-align: text-top; font-size: small; color: white" data-bind="text: toonnummer() + '.' "></td>
<td style="width: 91%; vertical-align: text-top; font-size: small; word-break: break-word; white-space: normal; color: white"
data-bind=" text: naamkort() == 'Basisondersteuning' ? 'Basisonder- steuning' : naamkort() == 'Tevredenheid school' ? 'Tevreden- heid school' : naamkort() "></td>
</tr>
</table>
</div> </div>
</div> </div>
<!-- /ko --> <!-- /ko -->
@@ -125,9 +140,16 @@
style: {backgroundColor: $root.tobemovedOnderdeel() && $root.tobemovedOnderdeel().modulenr == modulenr ? '#69970f' : '#930f50'}" style: {backgroundColor: $root.tobemovedOnderdeel() && $root.tobemovedOnderdeel().modulenr == modulenr ? '#69970f' : '#930f50'}"
style =" color: white; padding: 10px; margin: 5px; style =" color: white; padding: 10px; margin: 5px;
margin-right: 15px; height: 150px; "> margin-right: 15px; height: 150px; ">
<label style="padding-top: 15px; width: 50px; font-size: small; word-break: break-word" <!-- <label style="padding-top: 15px; width: 50px; font-size: small; word-break: break-word"-->
data-bind="text: toonnummer + '. ' + naamkort "> <!-- data-bind="text: toonnummer + '. ' + naamkort ">-->
</label> <!-- </label>-->
<table style="width: 100%">
<tr>
<td style="width: 18%; vertical-align: text-top; font-size: small" data-bind="text: toonnummer + '.' "></td>
<td style="width: 82%; vertical-align: text-top; font-size: small; word-break: break-word; white-space: normal"
data-bind=" text: naamkort == 'Basisondersteuning' ? 'Basisonder- steuning' : naamkort == 'Tevredenheid school' ? 'Tevreden- heid school' : naamkort "></td>
</tr>
</table>
</div> </div>
<!-- /ko --> <!-- /ko -->
<!-- ko if : isBreedBlok() --> <!-- ko if : isBreedBlok() -->
@@ -137,9 +159,15 @@
style: {backgroundColor: $root.tobemovedOnderdeel() && $root.tobemovedOnderdeel().modulenr == modulenr ? '#69970f' : '#930f50'}," style: {backgroundColor: $root.tobemovedOnderdeel() && $root.tobemovedOnderdeel().modulenr == modulenr ? '#69970f' : '#930f50'},"
style="color: white; style="color: white;
margin: 5px; padding: 10px; height: 150px; "> margin: 5px; padding: 10px; height: 150px; ">
<label style="padding-top: 15px; width: 50px; font-size: small; word-break: break-word ;" <!-- <label style="padding-top: 15px; width: 50px; font-size: small; word-break: break-word ;"-->
data-bind="text: toonnummer + '. ' + naamkort "> <!-- data-bind="text: toonnummer + '. ' + naamkort ">-->
</label> <!-- </label>-->
<table style="width: 100%">
<tr>
<td style="width: 9%; font-size: small; vertical-align: text-top" data-bind="text: toonnummer"></td>
<td style="width: 91%; font-size: small; vertical-align: text-top; word-break: break-word; white-space: normal" data-bind=" text: naamkort"></td>
</tr>
</table>
</div> </div>
<!-- /ko --> <!-- /ko -->
</div><!-- for each onderdelen --> </div><!-- for each onderdelen -->
+3
View File
@@ -72,6 +72,9 @@
<p style="margin-top: 40px; font-size:0.8em;text-align:center">Terug naar inlogscherm? Klik <i><span class="klikbaar" data-bind="click: fNaarInlog">hier</span></i>.</p> <p style="margin-top: 40px; font-size:0.8em;text-align:center">Terug naar inlogscherm? Klik <i><span class="klikbaar" data-bind="click: fNaarInlog">hier</span></i>.</p>
</div> </div>
</div> </div>
<div style="position:absolute; top:510px;font-size:0.85em">
<p style="color:#ffffff; padding:20px;">Vanaf 26 augustus is MonPas extra beveiligd met twee-factor authenticatie. <br>Nadat u uw gebruikersnaam en wachtwoord hebt opgegeven, wordt u gevraagd om een 6-cijferige code. Deze code krijgt u toegestuurd op uw e-mailadres.
</div>
</div> </div>
</div> <!-- pagLogin holder --> </div> <!-- pagLogin holder -->
<?php $this->load->view('twofactor_dialog'); ?> <?php $this->load->view('twofactor_dialog'); ?>
+1 -1
View File
@@ -1658,7 +1658,7 @@ z-index: 50;
/*.randinactief{*/ /*.randinactief{*/
/* border: 1px solid #bfbfbf;*/ /* border: 1px solid #bfbfbf;*/
/*}*/ /*}*/
.geenrand{ .vergeenrand{
border: none; border: none;
box-shadow: none; box-shadow: none;
} }
+9 -1
View File
@@ -361,7 +361,13 @@ mh.initCompactSopModel = function(){
});//each });//each
if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]); if (self.schooljaren() ) self.selectedSchooljaar(self.schooljaren()[0]);
self.organisaties(data.organisaties); self.organisaties(data.organisaties);
self.selectedOrganisatie(self.organisaties()[0]); if(self.organisaties().length === 1)self.selectedOrganisatie(self.organisaties()[0])
else{
$.each(self.organisaties(), function(i,o){
if(o.soort === self.toporgnr())
self.selectedOrganisatie(self.organisaties()[i])
})
}
} // if } // if
self.druk(false); self.druk(false);
if (typeof callback == "function") callback() if (typeof callback == "function") callback()
@@ -374,6 +380,8 @@ mh.initCompactSopModel = function(){
if(self.selectedSchooljaar() === undefined || self.selectedOrganisatie === undefined){ if(self.selectedSchooljaar() === undefined || self.selectedOrganisatie === undefined){
return; return;
} }
console.log(self.selectedOrganisatie().soort, 'orgsoort')
switch(self.selectedOrganisatie().soort){ switch(self.selectedOrganisatie().soort){
case '1': case '1':
Binary file not shown.
Binary file not shown.