Browse Source

correctif ajout de composant hors sketch

idleman 4 years ago
parent
commit
3c049ced9c
3 changed files with 38 additions and 28 deletions
  1. 13 9
      plugin/part/action.php
  2. 20 14
      plugin/part/js/main.js
  3. 5 5
      plugin/part/page.sheet.part.php

+ 13 - 9
plugin/part/action.php

@@ -51,10 +51,11 @@ switch($_['action']){
 			require_once(__DIR__.SLASH.'..'.SLASH.'hackpoint'.SLASH.'Resource.class.php');
 			require_once(__DIR__.SLASH.'ResourcePart.class.php');
 			
-			$item = Resource::provide('resource',1);
-			$sketch = $item->join('sketch');
-			if($sketch->creator != $myUser->login) throw new Exception("Permissions insuffisantes",403);
-
+			if(isset($_['resource'])){
+				$item = Resource::provide('resource',1);
+				$sketch = $item->join('sketch');
+				if($sketch->creator != $myUser->login) throw new Exception("Permissions insuffisantes",403);
+			}
 
 			$part = Part::provide('part');
 			$part->label = $_['label'];
@@ -72,11 +73,14 @@ switch($_['action']){
 				file_put_contents($dir.SLASH.'cover.jpg', $stream);
 			}
 
-			$item =  ResourcePart::provide();
-			$item->part = $part->id;
-			$item->resource = $_['resource'];
-			$item->save();
-			$response = $item->toArray();
+			if(isset($_['resource'])){
+				$item =  ResourcePart::provide();
+				$item->part = $part->id;
+				$item->resource = $_['resource'];
+				$item->save();
+				$response = $item->toArray();
+			}
+
 		});
 	break;
 	

+ 20 - 14
plugin/part/js/main.js

@@ -93,23 +93,29 @@ function part_part_search(callback){
 
 //Ajout ou modification d'élément part
 function part_part_save(element){
-	var li = $(element).closest('li');
 	
-	var data = {
-		action : 'part_part_save',
-		resource : $('#sketch-editor').attr('data-id'),
-		part : li.attr('data-part'),
-		id : li.attr('data-id'),
-		label : li.find('.label').val(),
-		brand : li.find('.brand input').val(),
-		price : li.find('.price input').val(),
-		url : li.find('.url').val(),
-		picture : li.find('.part-image').attr('data-stream')
+	if(element){
+		var li = $(element).closest('li');
+		var data = {
+			resource : $('#sketch-editor').attr('data-id'),
+			part : li.attr('data-part'),
+			id : li.attr('data-id'),
+			label : li.find('.label').val(),
+			brand : li.find('.brand input').val(),
+			price : li.find('.price input').val(),
+			url : li.find('.url').val(),
+			picture : li.find('.part-image').attr('data-stream')
+		}
+	}else{
+		var data =  $('#part-form').toJson();
 	}
+	data.action = 'part_part_save';
 	$.action(data,function(r){
-		li.removeClass('edition');
-		li.attr('data-part',r.part);
-		li.attr('data-id',r.id)
+		if(element){
+			li.removeClass('edition');
+			li.attr('data-part',r.part);
+			li.attr('data-id',r.id)
+		}
 		$.message('success','Enregistré');
 	});
 }

+ 5 - 5
plugin/part/page.sheet.part.php

@@ -5,15 +5,15 @@ require_once(__DIR__.SLASH.'Part.class.php');
 $part = Part::provide();
 ?>
 <div class="hackpoint">
-	<div id="part-form" class="row part-form" data-action="part_part_save" data-id="<?php echo $part->id; ?>">
-		<div class="col-md-12">
-			<h3>Part</h3>
+	<div id="part-form" class="row part-form  justify-content-md-center" data-action="part_part_save" data-id="<?php echo $part->id; ?>">
+		<div class="col-md-4">
+			<h3>Composant</h3>
 			<label for="label">Libellé</label>
 			<input id="label" name="label" class="form-control" placeholder="" value="<?php echo $part->label; ?>" type="text">
-			<label for="price">Prix moyen</label>
+			<label for="price">Prix moyen (&euro;)</label>
 			<input id="price" name="price" class="form-control" placeholder="" value="<?php echo $part->price; ?>" type="text">
 			<label for="link">Lien</label>
-			<textarea id="link" name="link" class="form-control"><?php echo $part->link; ?></textarea>
+			<input id="link" name="link" value="<?php echo $part->link; ?>" class="form-control">
 			<label for="brand">Marque</label>
 			<input id="brand" name="brand" class="form-control" placeholder="" value="<?php echo $part->brand; ?>" type="text">
 			<br/>