[dev] [commit] r926 - phplib/models wwwbase/struct

automailer at dexonline.ro automailer at dexonline.ro
Mon Aug 12 17:24:02 EEST 2013


Author: cata
Date: Mon Aug 12 17:24:02 2013
New Revision: 926

Log:
move some meaning editor validation code where it belongs.

Modified:
   phplib/models/Lexem.php
   wwwbase/struct/dexEdit.php

Modified: phplib/models/Lexem.php
==============================================================================
--- phplib/models/Lexem.php	Mon Aug 12 17:11:45 2013	(r925)
+++ phplib/models/Lexem.php	Mon Aug 12 17:24:02 2013	(r926)
@@ -322,35 +322,8 @@
   public function updateVariants($variantIds) {
     foreach ($variantIds as $variantId) {
       $variant = Lexem::get_by_id($variantId);
-      $errorCount = 0;
-      // (1) they are not variants of themselves (this lexem)
-      if ($variant->id == $this->id) {
-        FlashMessage::add('Un lexem nu poate fi variantă a lui însuși.');
-        $errorCount++;
-      }
-      // (2) they are not already variants of another lexem
-      if ($variant->variantOfId && $variant->variantOfId != $this->id) {
-        $other = Lexem::get_by_id($variant->variantOfId);
-        FlashMessage::add("\"{$variant}\" este deja marcat ca variantă a lui \"{$other}\".");
-        $errorCount++;
-      }
-      // (3) they do not have their own variants and
-      $variantVariantCount = Model::factory('Lexem')->where('variantOfId', $variant->id)->count();
-      if ($variantVariantCount) {
-        FlashMessage::add("\"{$variant}\" are deja propriile lui variante.");
-        $errorCount++;
-      }
-      // (4) they do not have meanings
-      $variantMeaningCount = Model::factory('Meaning')->where('lexemId', $variant->id)->count();
-      if ($variantMeaningCount) {
-        FlashMessage::add("\"{$variant}\" are deja propriile lui sensuri.");
-        $errorCount++;
-      }
-    
-      if (!$errorCount) {
-        $variant->variantOfId = $this->id;
-        $variant->save();
-      }
+      $variant->variantOfId = $this->id;
+      $variant->save();
     }
 
     // Delete variants no longer in the list

Modified: wwwbase/struct/dexEdit.php
==============================================================================
--- wwwbase/struct/dexEdit.php	Mon Aug 12 17:11:45 2013	(r925)
+++ wwwbase/struct/dexEdit.php	Mon Aug 12 17:24:02 2013	(r926)
@@ -60,6 +60,29 @@
   if ($variantOf && !empty($variantIds)) {
     FlashMessage::add("Acest lexem este o variantă a lui {$variantOf} și nu poate avea el însuși variante.");
   }
+  if ($variantOf && ($variantOf->id == $lexem->id)) {
+    FlashMessage::add("Lexemul nu poate fi variantă a sa însăși.");
+  }
+
+  foreach ($variantIds as $variantId) {
+    $variant = Lexem::get_by_id($variantId);
+    if ($variant->id == $lexem->id) {
+      FlashMessage::add('Un lexem nu poate fi variantă a lui însuși.');
+    }
+    if ($variant->variantOfId && $variant->variantOfId != $lexem->id) {
+      $other = Lexem::get_by_id($variant->variantOfId);
+      FlashMessage::add("\"{$variant}\" este deja marcat ca variantă a lui \"{$other}\".");
+    }
+    $variantVariantCount = Model::factory('Lexem')->where('variantOfId', $variant->id)->count();
+    if ($variantVariantCount) {
+      FlashMessage::add("\"{$variant}\" are deja propriile lui variante.");
+    }
+    $variantMeaningCount = Model::factory('Meaning')->where('lexemId', $variant->id)->count();
+    if ($variantMeaningCount) {
+      FlashMessage::add("\"{$variant}\" are deja propriile lui sensuri.");
+    }
+  }
+
   return FlashMessage::getMessage() == null;
 }
 


More information about the Dev mailing list