ajout PJ et editeur riche sur evenement calendrier (ref #170)
This commit is contained in:
parent
2da3128312
commit
5941260165
|
@ -130,6 +130,7 @@ class FileController extends Controller
|
|||
public function uploadAction($id,$type,Request $request,$access="config")
|
||||
{
|
||||
$subdirectory=$request->get("subdirectory");
|
||||
$forcereload=(is_null($request->get("forcereload"))?true:$request->get("forcereload"));
|
||||
|
||||
return $this->render('CadolesCoreBundle:File:upload.html.twig',[
|
||||
'useheader' => false,
|
||||
|
@ -139,6 +140,7 @@ class FileController extends Controller
|
|||
'id' => $id,
|
||||
'type' => $type,
|
||||
'subdirectory' => $subdirectory,
|
||||
'forcereload' => $forcereload,
|
||||
]);
|
||||
}
|
||||
|
||||
|
@ -363,6 +365,18 @@ class FileController extends Controller
|
|||
$em->getRepository("CadolesPortalBundle:Project")->getPermission($user,$project,$cansee,$canupdate,$canadd);
|
||||
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
||||
break;
|
||||
|
||||
case "calendarevent":
|
||||
// Récupération de l'event'
|
||||
$calendarevent=$em->getRepository("CadolesPortalBundle:Calendarevent")->find($id);
|
||||
if (!$calendarevent) throw $this->createNotFoundException('Unable to find entity.');
|
||||
|
||||
// On s'assure que l'utilisateur à la permission de voir
|
||||
$calendar=$calendarevent->getCalendar();
|
||||
$user=$this->getUser();
|
||||
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($user,$calendar,$cansee,$canupdate);
|
||||
if(!$cansee) throw $this->createNotFoundException('Permission denied');
|
||||
break;
|
||||
}
|
||||
}
|
||||
else $canupdate=true;
|
||||
|
|
|
@ -468,4 +468,3 @@
|
|||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
}
|
||||
/*# sourceMappingURL=bootstrap-datepicker.css.map */
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -38,7 +38,12 @@
|
|||
this.on("complete", function (file) {
|
||||
completeFiles += 1;
|
||||
if (completeFiles === totalFiles) {
|
||||
{% if forcereload %}
|
||||
parent.document.location.reload();
|
||||
{% else %}
|
||||
parent.refreshPJ();
|
||||
closeModal();
|
||||
{% endif %}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
@ -47,8 +52,8 @@
|
|||
}
|
||||
|
||||
function closeModal() {
|
||||
window.parent.$("#mymodal").removeClass("in");
|
||||
window.parent.$(".modal-backdrop").remove();
|
||||
//window.parent.$("#mymodal").removeClass("in");
|
||||
//window.parent.$(".modal-backdrop").remove();
|
||||
window.parent.$("#mymodal").modal('hide');
|
||||
}
|
||||
|
||||
|
|
|
@ -150,6 +150,12 @@
|
|||
$("#page-wrapper").css("margin","0px");
|
||||
$("#page-wrapper").css("border-left","none");
|
||||
}
|
||||
|
||||
$(document).tooltip({
|
||||
content: function () {
|
||||
return $(this).prop('title');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Cacher afficher le menu des widgets
|
||||
|
|
|
@ -5,6 +5,10 @@ namespace Cadoles\PortalBundle\Controller;
|
|||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Filesystem\Filesystem;
|
||||
use Symfony\Component\Finder\Finder;
|
||||
use Symfony\Component\HttpFoundation\File\File;
|
||||
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use Ramsey\Uuid\Uuid;
|
||||
|
||||
|
@ -64,6 +68,7 @@ class CalendareventController extends Controller
|
|||
$tmp['allDay'] = $calendarevent->getAllday();
|
||||
$tmp['calendar'] = $calendar->getId();
|
||||
$tmp['editable'] = $calendarevent->getCalendar()->getCanupdate();
|
||||
$tmp['files'] = $this->loadpj($tmp['id'] );
|
||||
|
||||
array_push($events,$tmp);
|
||||
array_push($eventids,$tmp["id"]);
|
||||
|
@ -90,6 +95,7 @@ class CalendareventController extends Controller
|
|||
$tmp['allDay'] = $calendarevent->getAllday();
|
||||
$tmp['calendar'] = $calendar->getId();
|
||||
$tmp['editable'] = $calendarevent->getCalendar()->getCanupdate();
|
||||
$tmp['files'] = $this->loadpj($tmp['id'] );
|
||||
|
||||
if(!in_array($tmp['id'],$eventids)) {
|
||||
array_push($events,$tmp);
|
||||
|
@ -286,4 +292,63 @@ class CalendareventController extends Controller
|
|||
'form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function loadpjAction(Request $request, $access="config") {
|
||||
$id = $request->request->get('id');
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$calendarevent = $em->getRepository($this->labelentity)->find($id);
|
||||
if (!$calendarevent) throw $this->createNotFoundException('Unable to find entity.');
|
||||
$calendar=$calendarevent->getCalendar();
|
||||
|
||||
// On s'assure que l'utilisateur à la permission
|
||||
if($access=="user") {
|
||||
$em->getRepository("CadolesPortalBundle:Calendar")->getPermission($this->getUser(),$calendar,$cansee,$canupdate);
|
||||
if(!$canupdate) throw $this->createNotFoundException('Permission denied');
|
||||
}
|
||||
|
||||
$files = $this->loadpj($id);
|
||||
|
||||
$response = new Response(json_encode($files));
|
||||
$response->headers->set('Content-Type', 'application/json');
|
||||
return $response;
|
||||
}
|
||||
|
||||
private function loadpj($id) {
|
||||
$directory=$this->get('kernel')->getRootDir()."/../uploads/file/calendarevent-".$id;
|
||||
$files=[];
|
||||
$fs = new Filesystem();
|
||||
if($fs->exists($directory)) {
|
||||
$finder = new Finder();
|
||||
$finder->sortByName()->in($directory)->exclude('thumb')->exclude('thumbmini');
|
||||
foreach ($finder as $file) {
|
||||
$tmpfile=[];
|
||||
$tmpfile["name"]=$file->getRelativePathname();
|
||||
$tmpfile["extension"]=strtolower($file->getExtension());
|
||||
$fileinfo = new file($file->getPathname());
|
||||
$tmpfile["minetype"]=$fileinfo->getMimeType();
|
||||
$tmpfile["minefamily"]=explode("/",$tmpfile["minetype"])[0];
|
||||
|
||||
$tmpfile["thumb"]="";
|
||||
if($tmpfile["extension"]=="pdf") {
|
||||
$tmpfile["thumb"]="/".$this->getParameter('alias')."/bundles/cadolescore/images/files/".$tmpfile["extension"].".png";
|
||||
}
|
||||
elseif($fs->exists($directory."/thumbmini/".$tmpfile["name"])) {
|
||||
$data = file_get_contents($directory."/thumbmini/".$tmpfile["name"]);
|
||||
$tmpfile["thumb"]="data:image/" . $tmpfile["extension"] . ";base64," . base64_encode($data);
|
||||
}
|
||||
elseif($fs->exists($directory."/thumb/".$tmpfile["name"])) {
|
||||
$data = file_get_contents($directory."/thumb/".$tmpfile["name"]);
|
||||
$tmpfile["thumb"]="data:image/" . $tmpfile["extension"] . ";base64," . base64_encode($data);
|
||||
}
|
||||
elseif($fs->exists($this->get('kernel')->getRootDir()."/../web/bundles/cadolescore/images/files/".$tmpfile["extension"].".png")) {
|
||||
$tmpfile["thumb"]="/".$this->getParameter('alias')."/bundles/cadolescore/images/files/".$tmpfile["extension"].".png";
|
||||
}
|
||||
|
||||
array_push($files,$tmpfile);
|
||||
}
|
||||
}
|
||||
|
||||
return $files;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -689,6 +689,9 @@ cadoles_portal_config_calendarevent_share:
|
|||
path: /config/calendarevent/share/{id}
|
||||
defaults: { _controller: CadolesPortalBundle:Calendarevent:share, access: config }
|
||||
|
||||
cadoles_portal_config_calendarevent_loadpj:
|
||||
path: /config/calendarevent/loadpj
|
||||
defaults: { _controller: CadolesPortalBundle:Calendarevent:loadpj, access: config }
|
||||
|
||||
#-- Access user
|
||||
cadoles_portal_user_calendarevent_load:
|
||||
|
@ -711,6 +714,9 @@ cadoles_portal_user_calendarevent_share:
|
|||
path: /user/calendarevent/share/{id}
|
||||
defaults: { _controller: CadolesPortalBundle:Calendarevent:share, access: user }
|
||||
|
||||
cadoles_portal_user_calendarevent_loadpj:
|
||||
path: /user/calendarevent/loadpj
|
||||
defaults: { _controller: CadolesPortalBundle:Calendarevent:loadpj, access: user }
|
||||
|
||||
#== PROJECT =================================================================================================================================================
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
|
||||
{% extends '@CadolesCore/base.html.twig' %}
|
||||
|
||||
|
||||
{% block pagewrapper %}
|
||||
{% if access=="config" %}
|
||||
<div class="pagemenu">
|
||||
|
@ -57,14 +56,15 @@
|
|||
|
||||
<!-- CREATION EVENEMENT -->
|
||||
<div id="mymodal-event-add" class="modal fade" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title">Evénement</h4>
|
||||
<h4 class="modal-title">Création Evénement</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<input id='vladd' name='vladd' class='btn btn-success' type='submit' onClick='submitEvent();' value='Valider' />
|
||||
<input id='vladd' name='vladd' class='btn btn-success' type='submit' onClick='submitEvent(false);' value='Valider' />
|
||||
<input id='vladdpj' name='vladdpj' class='btn btn-success' type='submit' onClick='submitEvent(true);' value='Valider & Ajouter des PJ' />
|
||||
|
||||
<input class='btn btn-default' type='submit' value='Annuler' onClick='$("#mymodal-event-add").modal("hide");'>
|
||||
<input name="calendar_id" id="calendar_id" type="hidden" class="form-control" placeholder="Nom">
|
||||
|
@ -72,8 +72,8 @@
|
|||
|
||||
<fieldset class="fieldset form-horizontal" style="clear:both; margin-top:30px;">
|
||||
<div class="form-group">
|
||||
<label for="event_calendar" class="col-sm-5 control-label">Calendrier*</label>
|
||||
<div class="col-sm-7">
|
||||
<label for="event_calendar" class="col-sm-3 control-label">Calendrier*</label>
|
||||
<div class="col-sm-9">
|
||||
<select name="event_calendar" id="event_calendar" class="form-control">
|
||||
{% if access=="config" %}
|
||||
{% for calendar in calendars %}
|
||||
|
@ -91,38 +91,38 @@
|
|||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_title" class="col-sm-5 control-label">Titre*</label>
|
||||
<div class="col-sm-7"><input name="event_title" id="event_title" type="titre" class="form-control focus" placeholder="Titre"></div>
|
||||
<label for="event_title" class="col-sm-3 control-label">Titre*</label>
|
||||
<div class="col-sm-9"><input name="event_title" id="event_title" type="titre" class="form-control focus" placeholder="Titre"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_description" class="col-sm-5 control-label">Description</label>
|
||||
<div class="col-sm-7"><textarea style="height:150px" name="event_description" id="event_description" type="titre" class="form-control focus" placeholder="Description"></textarea></div>
|
||||
<label for="event_description" class="col-sm-3 control-label">Description</label>
|
||||
<div class="col-sm-9"><textarea style="height:150px" name="event_description" id="event_description-add" type="titre" class="form-control focus" placeholder="Description"></textarea></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_allday" class="col-sm-5 control-label">Evènement sur la journée*</label>
|
||||
<div class="col-sm-7"><input id="event_allday" name="event_allday" type="checkbox" class="switch" onChange="switchallDay('SUBMIT');"></div>
|
||||
<label for="event_allday" class="col-sm-3 control-label">Evènement sur la journée*</label>
|
||||
<div class="col-sm-9"><input id="event_allday" name="event_allday" type="checkbox" class="switch" onChange="switchallDay('SUBMIT');"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_start_time">
|
||||
<label for="date" class="col-sm-5 control-label">Date Début*</label>
|
||||
<div class="col-sm-7"><input name="event_start_time" id="event_start_time" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Début*</label>
|
||||
<div class="col-sm-9"><input name="event_start_time" id="event_start_time" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_end_time">
|
||||
<label for="date" class="col-sm-5 control-label">Date Fin*</label>
|
||||
<div class="col-sm-7"><input name="event_end_time" id="event_end_time" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Fin*</label>
|
||||
<div class="col-sm-9"><input name="event_end_time" id="event_end_time" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_start">
|
||||
<label for="date" class="col-sm-5 control-label">Date Début*</label>
|
||||
<div class="col-sm-7"><input name="event_start" id="event_start" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Début*</label>
|
||||
<div class="col-sm-9"><input name="event_start" id="event_start" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_end">
|
||||
<label for="date" class="col-sm-5 control-label">Date Fin*</label>
|
||||
<div class="col-sm-7"><input name="event_end" id="event_end" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Fin*</label>
|
||||
<div class="col-sm-9"><input name="event_end" id="event_end" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
@ -133,7 +133,7 @@
|
|||
|
||||
<!-- UPDATE / DELETE EVENEMENT -->
|
||||
<div id="mymodal-event-mod" class="modal fade" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
||||
|
@ -151,8 +151,8 @@
|
|||
|
||||
<fieldset class="fieldset form-horizontal" style="clear:both; margin-top:30px;">
|
||||
<div class="form-group">
|
||||
<label for="event_calendar" class="col-sm-5 control-label">Calendrier*</label>
|
||||
<div class="col-sm-7">
|
||||
<label for="event_calendar" class="col-sm-3 control-label">Calendrier*</label>
|
||||
<div class="col-sm-9">
|
||||
<select name="event_calendar" id="event_calendar" class="form-control">
|
||||
{% if access=="config" %}
|
||||
{% for calendar in calendars %}
|
||||
|
@ -170,41 +170,48 @@
|
|||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_title" class="col-sm-5 control-label">Titre*</label>
|
||||
<div class="col-sm-7"><input name="event_title" id="event_title" type="titre" class="form-control focus" placeholder="Titre"></div>
|
||||
<label for="event_title" class="col-sm-3 control-label">Titre*</label>
|
||||
<div class="col-sm-9"><input name="event_title" id="event_title" type="titre" class="form-control focus" placeholder="Titre"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_description" class="col-sm-5 control-label">Description</label>
|
||||
<div class="col-sm-7"><textarea style="height:150px" name="event_description" id="event_description" type="titre" class="form-control focus" placeholder="Description"></textarea></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="event_allday" class="col-sm-5 control-label">Evènement sur la journée*</label>
|
||||
<div class="col-sm-7"><input id="event_allday" name="event_allday" type="checkbox" class="switch" onChange="switchallDay('UPDATE');"></div>
|
||||
<label for="event_allday" class="col-sm-3 control-label">Evènement sur la journée*</label>
|
||||
<div class="col-sm-9"><input id="event_allday" name="event_allday" type="checkbox" class="switch" onChange="switchallDay('UPDATE');"></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_start_time">
|
||||
<label for="date" class="col-sm-5 control-label">Date Début*</label>
|
||||
<div class="col-sm-7"><input name="event_start_time" id="event_start_timem" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Début*</label>
|
||||
<div class="col-sm-9"><input name="event_start_time" id="event_start_timem" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_end_time">
|
||||
<label for="date" class="col-sm-5 control-label">Date Fin*</label>
|
||||
<div class="col-sm-7"><input name="event_end_time" id="event_end_timem" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Fin*</label>
|
||||
<div class="col-sm-9"><input name="event_end_time" id="event_end_timem" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_start">
|
||||
<label for="date" class="col-sm-5 control-label">Date Début*</label>
|
||||
<div class="col-sm-7"><input name="event_start" id="event_startm" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Début*</label>
|
||||
<div class="col-sm-9"><input name="event_start" id="event_startm" type="titre" class="form-control" placeholder="Date Début" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" id="form_event_end">
|
||||
<label for="date" class="col-sm-5 control-label">Date Fin*</label>
|
||||
<div class="col-sm-7"><input name="event_end" id="event_endm" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
<label for="date" class="col-sm-3 control-label">Date Fin*</label>
|
||||
<div class="col-sm-9"><input name="event_end" id="event_endm" type="titre" class="form-control" placeholder="Date Fin" value=""></div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-12"><textarea style="height:150px" name="event_description" id="event_description-mod" type="titre" class="form-control focus" placeholder="Description"></textarea></div>
|
||||
</div>
|
||||
|
||||
<div id="event_PJ"></div>
|
||||
|
||||
</fieldset>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
<input id='vldel' name='vldel' class='btn btn-danger' type='submit' onClick='deleteEvent();' value='Suppression' />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -212,8 +219,15 @@
|
|||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block localexternalscript %}
|
||||
<script type="text/javascript" src="/{{alias}}/ckeditor/ckeditor.js"></script>
|
||||
<script type="text/javascript" src="/{{alias}}/ckeditor/adapters/jquery.js"></script>
|
||||
{% endblock %}
|
||||
|
||||
{% block localjavascript %}
|
||||
var idcalendar;
|
||||
var toaddPJ;
|
||||
var toaddPJevent;
|
||||
|
||||
var defautView='month';
|
||||
{% if app.user %}
|
||||
|
@ -225,6 +239,17 @@
|
|||
{% endif %}
|
||||
|
||||
$('document').ready(function(){
|
||||
CKEDITOR.config.toolbar_Basic =
|
||||
[
|
||||
{ name: 'document', items : ['Bold','Italic','Underline','-', 'NumberedList','BulletedList','-', 'Link'] },
|
||||
];
|
||||
CKEDITOR.config.toolbar = 'Basic';
|
||||
CKEDITOR.config.height = '100';
|
||||
CKEDITOR.config.removePlugins = 'elementspath,save,font, resize';
|
||||
|
||||
CKEDITOR.replace( 'event_description-add' );
|
||||
CKEDITOR.replace( 'event_description-mod' );
|
||||
|
||||
{% if entity.id is defined %}
|
||||
{% for calendar in calendars %}
|
||||
{% if calendar.id==entity.id %}
|
||||
|
@ -289,7 +314,6 @@
|
|||
$("#menudelete").hide();
|
||||
|
||||
if($("#menucalendar-"+id).data("open")) {
|
||||
console.log($("#menucalendar-"+id).data("open"));
|
||||
$("#menuupdate").show();
|
||||
$("#menushare").show();
|
||||
$("#menudelete").show();
|
||||
|
@ -316,7 +340,7 @@
|
|||
{% if app.user %}
|
||||
var allDay = !start.hasTime() && !end.hasTime();
|
||||
$("#mymodal-event-add #event_title").val("");
|
||||
$("#mymodal-event-add #event_description").val("");
|
||||
CKEDITOR.instances["event_description-add"].setData("")
|
||||
$("#mymodal-event-add #event_start_time").val(moment(start).format("DD/MM/YYYY HH:mm"));
|
||||
$("#mymodal-event-add #event_end_time").val(moment(end).format("DD/MM/YYYY HH:mm"));
|
||||
$("#mymodal-event-add #event_start").val(moment(start).format("DD/MM/YYYY"));
|
||||
|
@ -335,7 +359,7 @@
|
|||
if(event.editable) {
|
||||
$("#mymodal-event-mod #event_id").val(event.id);
|
||||
$("#mymodal-event-mod #event_title").val(event.title);
|
||||
$("#mymodal-event-mod #event_description").val(event.description);
|
||||
CKEDITOR.instances["event_description-mod"].setData(event.description)
|
||||
$("#mymodal-event-mod #event_start_timem").val(event.start.format("DD/MM/YYYY HH:mm"));
|
||||
$("#mymodal-event-mod #event_end_timem").val(event.end.format("DD/MM/YYYY HH:mm"));
|
||||
$("#mymodal-event-mod #event_startm").val(event.start.format("DD/MM/YYYY"));
|
||||
|
@ -343,6 +367,9 @@
|
|||
$("#mymodal-event-mod #event_allday").bootstrapSwitch('state', event.allDay);
|
||||
$("#mymodal-event-mod #event_calendar option[value='"+event.calendar+"']").prop('selected', true);
|
||||
|
||||
|
||||
refreshPJ();
|
||||
|
||||
switchallDay("UPDATE");
|
||||
$('#mymodal-event-mod').modal('show');
|
||||
}
|
||||
|
@ -400,6 +427,7 @@
|
|||
|
||||
eventRender: function(event, element) {
|
||||
element.attr('title', event.description);
|
||||
element.find('.fc-content').attr("id", "event-" + event.id);
|
||||
},
|
||||
|
||||
events:urltoload
|
||||
|
@ -437,7 +465,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
function submitEvent() {
|
||||
function submitEvent(addPJ) {
|
||||
$("#mymodal-event-add .alert").remove();
|
||||
if($("#mymodal-event-add #event_title").val()=="") {
|
||||
$("#mymodal-event-add fieldset").append("<div class='alert alert-danger' style='margin: 5px 0px'>Titre obligatoire</div>");
|
||||
|
@ -475,32 +503,35 @@
|
|||
url: "{{ path('cadoles_portal_'~access~'_calendarevent_submit') }}",
|
||||
data: {
|
||||
"title":$("#mymodal-event-add #event_title").val(),
|
||||
"description":$("#mymodal-event-add #event_description").val(),
|
||||
"description":CKEDITOR.instances["event_description-add"].getData(),
|
||||
"start": dstart,
|
||||
"end": dend,
|
||||
"allday": $("#mymodal-event-add #event_allday").bootstrapSwitch('state'),
|
||||
"idcalendar": $("#mymodal-event-add #event_calendar").val()
|
||||
},
|
||||
success: function(data) {
|
||||
console.log(data.id);
|
||||
|
||||
// Ajout de l'event dans fullcalendar
|
||||
$('#calendar').fullCalendar('renderEvent',
|
||||
event = $('#calendar').fullCalendar('renderEvent',
|
||||
{
|
||||
id: data.id,
|
||||
title: $("#mymodal-event-add #event_title").val(),
|
||||
description: $("#mymodal-event-add #event_description").val(),
|
||||
description: CKEDITOR.instances["event_description-add"].getData(),
|
||||
start: start,
|
||||
end: end,
|
||||
editable: true,
|
||||
color: data.color,
|
||||
allDay: $("#mymodal-event-add #event_allday").bootstrapSwitch('state'),
|
||||
calendar: $("#mymodal-event-add #event_calendar").val()
|
||||
calendar: $("#mymodal-event-add #event_calendar").val(),
|
||||
files: []
|
||||
},
|
||||
false // make the event "stick"
|
||||
);
|
||||
console.log(event);
|
||||
|
||||
$("#mymodal-event-add").modal("hide");
|
||||
|
||||
toaddPJ=addPJ;
|
||||
toaddPJevent=data.id;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -546,7 +577,7 @@
|
|||
data: {
|
||||
"id": $("#mymodal-event-mod #event_id").val(),
|
||||
"title":$("#mymodal-event-mod #event_title").val(),
|
||||
"description":$("#mymodal-event-mod #event_description").val(),
|
||||
"description":CKEDITOR.instances["event_description-mod"].getData(),
|
||||
"start": dstart,
|
||||
"end": dend,
|
||||
"allday": $("#mymodal-event-mod #event_allday").bootstrapSwitch('state'),
|
||||
|
@ -561,7 +592,7 @@
|
|||
{
|
||||
id: idevent,
|
||||
title: $("#mymodal-event-mod #event_title").val(),
|
||||
description: $("#mymodal-event-mod #event_description").val(),
|
||||
description: CKEDITOR.instances["event_description-mod"].getData(),
|
||||
start: start,
|
||||
end: end,
|
||||
editable: true,
|
||||
|
@ -576,6 +607,15 @@
|
|||
});
|
||||
}
|
||||
|
||||
function AddPJ() {
|
||||
$('#mymodal-event-mod').modal('hide');
|
||||
url='{{ path('cadoles_core_'~access~'_file_upload',{'id': 'calendarevent-xxxx','type':'all','forcereload':false}) }}';
|
||||
url=url.replace('xxxx',$("#mymodal-event-mod #event_id").val());
|
||||
|
||||
$("#mymodal").modal('show');
|
||||
ModalLoad('mymodal','Fichiers',url);
|
||||
}
|
||||
|
||||
function shareEvent() {
|
||||
var id=$("#mymodal-event-mod #event_id").val();
|
||||
|
||||
|
@ -603,4 +643,111 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Supprimer un fichier
|
||||
function delFile(directory,filename) {
|
||||
var r = confirm("Confirmez-vous la suppression de ce fichier ?");
|
||||
if (r == true) {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "{{ path('cadoles_core_'~access~'_file_delete') }}",
|
||||
data: {
|
||||
directory:directory,
|
||||
filename:filename
|
||||
},
|
||||
success: function() {
|
||||
refreshPJ();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).on('mouseenter', '.grid-item-content', function(){
|
||||
$(this).children(".item-delete").show();
|
||||
});
|
||||
$(document).on('mouseleave', '.grid-item-content', function(){
|
||||
$(this).children(".item-delete").hide();
|
||||
});
|
||||
|
||||
$('#mymodal-event-add').on('hidden.bs.modal', function() {
|
||||
if(toaddPJ) {
|
||||
$('#event-'+toaddPJevent+'.fc-content').trigger('click');
|
||||
AddPJ();
|
||||
}
|
||||
toaddPJ=false;
|
||||
});
|
||||
|
||||
$('#mymodal-event-mod').on('shown.bs.modal', function() {
|
||||
$('body').imagesLoaded(function() {
|
||||
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item', gutter: '.grid-gutter-sizer'};
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
});
|
||||
});
|
||||
|
||||
function refreshPJ() {
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "{{ path('cadoles_portal_'~access~'_calendarevent_loadpj') }}",
|
||||
data: {
|
||||
"id": $("#mymodal-event-mod #event_id").val()
|
||||
},
|
||||
success: function(data) {
|
||||
htmlPJ(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#mymodal').on('hidden.bs.modal', function() {
|
||||
$("#mymodal-event-mod").modal("show");
|
||||
var optiongrid={columnWidth: '.grid-sizer',itemSelector: '.grid-item', gutter: '.grid-gutter-sizer'};
|
||||
var grid = $('.grid').masonry(optiongrid);
|
||||
});
|
||||
|
||||
function htmlPJ(files) {
|
||||
html ='<div class="grid clearfix">';
|
||||
html+='<div class="grid-sizer grid-small"></div>';
|
||||
html+='<div class="grid-gutter-sizer"></div>';
|
||||
files.forEach(function(file) {
|
||||
url="{{ path('cadoles_core_'~access~'_file_download',{'directory':'calendarevent-xxxx','filename':'yyyy' }) }}";
|
||||
url=url.replace("xxxx",event.id);
|
||||
url=url.replace("yyyy",file.name);
|
||||
|
||||
html+='<div class="grid-item grid-small">';
|
||||
html+='<div class="grid-item-content" style="background-color: #{{ color["main"]}}">';
|
||||
html+='<a style="cursor:pointer;color: #{{color['fontcolorhover']}}" onClick="delFile(\'calendarevent-'+$("#mymodal-event-mod #event_id").val()+'\',\''+file.name+'\')" class="item-delete">';
|
||||
html+='<i class="fa fa-trash" title="Supprimer le fichier"></i>';
|
||||
html+='</a>';
|
||||
html+='<a style="cursor:pointer" href="'+url+'">';
|
||||
html+='<div class="item-link clearfix">';
|
||||
html+='<div class="grid-item-logo">';
|
||||
if(file.thumb)
|
||||
html+='<img class="grid-item-img" height="110" src="'+file.thumb+'">';
|
||||
else
|
||||
html+='<img class="grid-item-img" height="110" src="/{{ alias }}/bundles/cadolescore/images/files/_blank.png">';
|
||||
html+='</div>';
|
||||
html+='<div class="grid-item-title">';
|
||||
html+='<h2>'+file.name+'</h2>';
|
||||
html+='</div>';
|
||||
html+='</div>';
|
||||
html+='</a>';
|
||||
html+='</div>';
|
||||
html+='</div>';
|
||||
});
|
||||
|
||||
html+='<div class="grid-item grid-small">'
|
||||
html+='<div onClick="AddPJ();" title="Ajouter des fichiers" class="grid-item-content" style="cursor:pointer;margin-top:20px;">';
|
||||
html+='<img class="grid-item-img imageshadow" height="60" src="/ninegate/uploads/icon/icon_add.png">';
|
||||
html+='<br>Ajouter des fichiers';
|
||||
html+='</div>';
|
||||
html+='</div>';
|
||||
|
||||
html+='</div>';
|
||||
html+='</div>';
|
||||
html+='</div>';
|
||||
|
||||
// On ajoute les PJ à la modal
|
||||
$("#mymodal-event-mod #event_PJ").html("");
|
||||
$("#mymodal-event-mod #event_PJ").append(html);
|
||||
}
|
||||
|
||||
{% endblock %}
|
||||
|
|
|
@ -170,7 +170,7 @@
|
|||
{% if canadd %}
|
||||
<div data-toggle="modal" data-target="#mymodal" onClick="ModalLoad('mymodal','Fichiers','{{ path('cadoles_core_'~access~'_file_upload',{'id': 'projecttask-'~entity.id,'type':'all'}) }}');" title="Ajouter des fichiers" class="grid-item-content" style="cursor:pointer;margin-top:20px;">
|
||||
<img class="grid-item-img imageshadow" height="60" src="/ninegate/uploads/icon/icon_add.png">
|
||||
<br>Ajouter un fichier
|
||||
<br>Ajouter des fichiers
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue