fixed particularities
This commit is contained in:
		
							parent
							
								
									37bbe6a33e
								
							
						
					
					
						commit
						c0a0246e5b
					
				| @ -8,12 +8,10 @@ final class RecipeController | |||||||
|         if(count($A_urlParams)!=1){ |         if(count($A_urlParams)!=1){ | ||||||
|             throw new HTTPSpecialCaseException(404); |             throw new HTTPSpecialCaseException(404); | ||||||
|         } |         } | ||||||
| 
 |  | ||||||
|         $O_recipe = RecipeModel::getByID($A_urlParams[0]); |         $O_recipe = RecipeModel::getByID($A_urlParams[0]); | ||||||
|         if ($O_recipe === null) { |         if ($O_recipe === null) { | ||||||
|             throw new HTTPSpecialCaseException(404); |             throw new HTTPSpecialCaseException(404); | ||||||
|         } |         } | ||||||
| 
 |  | ||||||
|         View::show("recipe/view", array( |         View::show("recipe/view", array( | ||||||
|             "ADMIN" => Session::is_admin(), |             "ADMIN" => Session::is_admin(), | ||||||
|             "USER_ID" => Session::is_login() ? $_SESSION["ID"] : null, |             "USER_ID" => Session::is_login() ? $_SESSION["ID"] : null, | ||||||
| @ -93,6 +91,27 @@ final class RecipeController | |||||||
|         $A_ingredientNames = Utils::getOrDie($A_postParams, "recipeIngredientNames"); |         $A_ingredientNames = Utils::getOrDie($A_postParams, "recipeIngredientNames"); | ||||||
|         $A_ingredientQuantities = Utils::getOrDie($A_postParams, "recipeIngredientQuantities"); |         $A_ingredientQuantities = Utils::getOrDie($A_postParams, "recipeIngredientQuantities"); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         // handle particularities
 | ||||||
|  |         if(isset($A_postParams["recipeVegan"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "végan"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["recipeVegetarian"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "végétarien"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["recipeLactoseFree"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "sans lactose"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["recipeGlutenFree"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "sans gluten"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|         $A_ingredients = array(); |         $A_ingredients = array(); | ||||||
|         for($i=0; $i<count($A_ingredientNames); $i++) { |         for($i=0; $i<count($A_ingredientNames); $i++) { | ||||||
|             $O_ingr = new IngredientModel( |             $O_ingr = new IngredientModel( | ||||||
| @ -126,6 +145,27 @@ final class RecipeController | |||||||
|         // fill basic recipe attribtues
 |         // fill basic recipe attribtues
 | ||||||
|         self::fillRecipeFromPostParams($O_recipe, $A_postParams); |         self::fillRecipeFromPostParams($O_recipe, $A_postParams); | ||||||
|         $O_recipe->update(); |         $O_recipe->update(); | ||||||
|  | 
 | ||||||
|  |         ParticularityModel::removeByRecipe($O_recipe->I_ID); | ||||||
|  | 
 | ||||||
|  |         // handle particularities
 | ||||||
|  |         if(isset($A_postParams["part_Vegan"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "végan"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["part_Vegeta"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "végétarien"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["part_LactoseFree"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "sans lactose"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |         if(isset($A_postParams["part_GlutenFree"])){ | ||||||
|  |             $O_part = new ParticularityModel($O_recipe->I_ID, "sans gluten"); | ||||||
|  |             $O_part->insert(); | ||||||
|  |         } | ||||||
|  |          | ||||||
|          |          | ||||||
|         // update img if necessary
 |         // update img if necessary
 | ||||||
|         $fp = Utils::tryProcessImg("recipeImage"); |         $fp = Utils::tryProcessImg("recipeImage"); | ||||||
|  | |||||||
| @ -21,15 +21,10 @@ final class ParticularityModel | |||||||
|      |      | ||||||
|     public function insert(){ |     public function insert(){ | ||||||
|         $O_model = Model::get(); |         $O_model = Model::get(); | ||||||
|         $stmt = $O_model->prepare("SELECT 1 FROM PARTICULARITY WHERE :name=name"); |         $stmt = $O_model->prepare("SELECT ID FROM PARTICULARITY WHERE :name=name"); | ||||||
|         $stmt->bindParam("name", $this->S_NAME); |         $stmt->bindParam("name", $this->S_NAME); | ||||||
|         $stmt->execute(); |         $stmt->execute(); | ||||||
|         if($stmt->rowCount() === 0){ |         $this->I_PARTICULARITY_ID = $stmt->fetch()["ID"]; | ||||||
|             $stmt = $O_model->prepare("INSERT INTO PARTICULARITY (NAME) VALUES(:name)"); |  | ||||||
|             $stmt->bindParam("name", $this->S_NAME); |  | ||||||
|             $stmt->execute(); |  | ||||||
|             $this->I_PARTICULARITY_ID = Model::get()->lastInsertId(); |  | ||||||
|         } |  | ||||||
|         $stmt = $O_model->prepare("INSERT INTO RECIPE_PARTICULARITY VALUES(:recipe_id, :particularity_id)"); |         $stmt = $O_model->prepare("INSERT INTO RECIPE_PARTICULARITY VALUES(:recipe_id, :particularity_id)"); | ||||||
|         $stmt->bindParam("recipe_id", $this->I_RECIPE_ID); |         $stmt->bindParam("recipe_id", $this->I_RECIPE_ID); | ||||||
|         $stmt->bindParam("particularity_id", $this->I_PARTICULARITY_ID); |         $stmt->bindParam("particularity_id", $this->I_PARTICULARITY_ID); | ||||||
| @ -67,11 +62,18 @@ final class ParticularityModel | |||||||
|         $stmt->bindParam("id", $this->I_PARTICULARITY_ID); |         $stmt->bindParam("id", $this->I_PARTICULARITY_ID); | ||||||
|         $stmt->execute(); |         $stmt->execute(); | ||||||
|         $stmt = $O_model->prepare("DELETE FROM RECIPE_PARTICULARITY WHERE PARTICULARITY_ID=:id"); |         $stmt = $O_model->prepare("DELETE FROM RECIPE_PARTICULARITY WHERE PARTICULARITY_ID=:id"); | ||||||
|         $stmt->execute(); |  | ||||||
|         $stmt->bindParam("id", $this->I_PARTICULARITY_ID); |         $stmt->bindParam("id", $this->I_PARTICULARITY_ID); | ||||||
|         $stmt->execute(); |         $stmt->execute(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |     public static function removeByRecipe($I_recipe_id){ | ||||||
|  |         $O_model = Model::get(); | ||||||
|  |         $stmt = $O_model->prepare("DELETE FROM RECIPE_PARTICULARITY WHERE RECIPE_ID=:id"); | ||||||
|  |         $stmt->bindParam("id",$I_recipe_id); | ||||||
|  |         $stmt->execute(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     public static function searchByRecipe($I_recipe_id) |     public static function searchByRecipe($I_recipe_id) | ||||||
|     { |     { | ||||||
|         $O_model = Model::get(); |         $O_model = Model::get(); | ||||||
|  | |||||||
| @ -15,7 +15,10 @@ if ($O_recipe === null) { | |||||||
|     $S_descr = $O_recipe->S_DESCR; |     $S_descr = $O_recipe->S_DESCR; | ||||||
|     $A_instructions = $O_recipe->getSplitInstructions(); |     $A_instructions = $O_recipe->getSplitInstructions(); | ||||||
|     $S_difficultyName = $O_recipe->getDifficulty()->S_NAME; |     $S_difficultyName = $O_recipe->getDifficulty()->S_NAME; | ||||||
|     $A_parts = array(); // TODO
 |     $A_parts = array(); | ||||||
|  |     foreach(ParticularityModel::searchByRecipe($O_recipe->I_ID) as $O_part){ | ||||||
|  |         array_push($A_parts, $O_part->S_NAME); | ||||||
|  |     } | ||||||
|     $A_ingredients = $O_recipe->getIngredients(); |     $A_ingredients = $O_recipe->getIngredients(); | ||||||
| } | } | ||||||
| ?>
 | ?>
 | ||||||
| @ -51,11 +54,13 @@ if ($O_recipe === null) { | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|             <legend>Particularités du plat :</legend> |             <legend>Particularités du plat :</legend> | ||||||
|             <input type="checkbox" name="part_Vegan" id="recipeVegan" <?= in_array("Végan", $A_parts)? "checked":"" ?> >
 |             <input type="checkbox" name="part_Vegan" id="recipeVegan" <?= in_array("végan", $A_parts)? "checked":"" ?> >
 | ||||||
|             <label for="recipeVegan" class="labelParticularite">Végan</label> |             <label for="recipeVegan" class="labelParticularite">Végan</label> | ||||||
|             <input type="checkbox" name="part_LactoseFree" id="recipeLactoseFree" <?= in_array("Sans lactose", $A_parts)? "checked":"" ?> >
 |             <input type="checkbox" name="part_Vegeta" id="recipeVegetarian" <?= in_array("végétarien", $A_parts)? "checked":"" ?> >
 | ||||||
|  |             <label for="recipeVegetarian" class="labelParticularite">Végétarien</label> | ||||||
|  |             <input type="checkbox" name="part_LactoseFree" id="recipeLactoseFree" <?= in_array("sans lactose", $A_parts)? "checked":"" ?> >
 | ||||||
|             <label for="recipeLactoseFree" class="labelParticularite">Sans lactose</label> |             <label for="recipeLactoseFree" class="labelParticularite">Sans lactose</label> | ||||||
|             <input type="checkbox" name="part_GlutenFree" id="recipeGlutenFree" <?= in_array("Sans gluten", $A_parts)? "checked":"" ?> >
 |             <input type="checkbox" name="part_GlutenFree" id="recipeGlutenFree" <?= in_array("sans gluten", $A_parts)? "checked":"" ?> >
 | ||||||
|             <label for="recipeGlutenFree" class="labelParticularite">Sans gluten</label> |             <label for="recipeGlutenFree" class="labelParticularite">Sans gluten</label> | ||||||
| 
 | 
 | ||||||
|                 </br> |                 </br> | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user