composition sorting is now saving automaticly
This commit is contained in:
@@ -52,6 +52,8 @@ class CompositionController extends ControllerBase {
|
||||
$status = 'ok';
|
||||
$message = 'Hello';
|
||||
|
||||
$response = new JsonResponse();
|
||||
|
||||
switch($action){
|
||||
case 'create':
|
||||
$name = $request->query->get('new_name');
|
||||
@@ -68,6 +70,15 @@ class CompositionController extends ControllerBase {
|
||||
$this->error_message = t("Composition opening needs a cid as url paramater!");
|
||||
}
|
||||
break;
|
||||
case 'save':
|
||||
if($cid){
|
||||
$name = $request->query->get('new_name');
|
||||
$documents = $request->query->get('documents');
|
||||
$this->saveComposition($cid, $name, $documents);
|
||||
}else{
|
||||
$this->error_message = t("Composition saving needs a cid as query paramater!");
|
||||
}
|
||||
break;
|
||||
case 'delete':
|
||||
if($cid){
|
||||
$this->deleteComposition($cid);
|
||||
@@ -75,9 +86,6 @@ class CompositionController extends ControllerBase {
|
||||
$this->error_message = t("Composition deletion needs a cid as url paramater!");
|
||||
}
|
||||
break;
|
||||
// case 'rename':
|
||||
//
|
||||
// break;
|
||||
}
|
||||
|
||||
if($this->error_message){
|
||||
@@ -85,8 +93,6 @@ class CompositionController extends ControllerBase {
|
||||
$message = $this->error_message;
|
||||
}
|
||||
|
||||
// JSON
|
||||
$response = new JsonResponse();
|
||||
$data = array(
|
||||
'action' => $action,
|
||||
'status' => $status,
|
||||
@@ -122,16 +128,19 @@ class CompositionController extends ControllerBase {
|
||||
'compo' => $this->rendered_compo,
|
||||
);
|
||||
break;
|
||||
// case 'delete':
|
||||
// # code...
|
||||
// break;
|
||||
case 'save':
|
||||
$data += array(
|
||||
'name'=>$name,
|
||||
'documents'=>$documents
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$response->setData($data);
|
||||
return $response;
|
||||
|
||||
// classic html
|
||||
// // classic html
|
||||
// return array(
|
||||
// '#markup'=>'Status : ' . $status . ' | Message : ' . $message,
|
||||
// );
|
||||
@@ -158,6 +167,20 @@ class CompositionController extends ControllerBase {
|
||||
$this->compo = entity_load('composition', $cid);
|
||||
}
|
||||
|
||||
private function saveComposition($cid, $name = "", $new_documents = array()){
|
||||
$this->compo = entity_load('composition', $cid);
|
||||
if($name != ""){
|
||||
$this->compo->setName($name);
|
||||
}
|
||||
$documents = array();
|
||||
foreach ($new_documents as $nid) {
|
||||
$documents[] = ['target_id'=>$nid];
|
||||
}
|
||||
$this->compo->set('documents', $documents);
|
||||
$this->compo->save();
|
||||
}
|
||||
|
||||
|
||||
private function deleteComposition($cid){
|
||||
$this->compo = entity_load('composition', $cid);
|
||||
$this->compo->delete();
|
||||
|
||||
Reference in New Issue
Block a user