[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