[dev] [commit] r911 - phplib/models templates/admin templates/common
automailer at dexonline.ro
automailer at dexonline.ro
Wed Jul 17 12:12:37 EEST 2013
Author: cata
Date: Wed Jul 17 12:12:37 2013
New Revision: 911
Log:
Fix some broken admin report counters.
Migrate some smarty code to v3.
TODO: test that it works well in v2 too.
Modified:
phplib/models/Definition.php
templates/admin/definitionList.ihtml
templates/common/errorMessage.ihtml
Modified: phplib/models/Definition.php
==============================================================================
--- phplib/models/Definition.php Tue Jul 16 11:33:31 2013 (r910)
+++ phplib/models/Definition.php Wed Jul 17 12:12:37 2013 (r911)
@@ -40,10 +40,11 @@
->find_many();
}
- // Counts the unassociated definitions in the active or temporary statuses.
public static function countUnassociated() {
- $all = Model::factory('Definition')->count();
- return $all - self::countAssociated() - self::countByStatus(ST_DELETED);
+ // Deleted definitions are always unassociated, so we don't report those
+ $query = sprintf("select * from Definition where status != %s and id not in (select distinct definitionId from LexemDefinitionMap)",
+ ST_DELETED);
+ return count(ORM::for_table('Definition')->raw_query($query, null)->find_many());
}
public static function countByStatus($status) {
@@ -209,11 +210,11 @@
->raw_query("select * from Definition where lexicon $collate $regexp and status = " . ST_DELETED . " and createDate between $beginTime and $endTime " .
"$sourceClause $userClause order by lexicon, sourceId limit 500", null)->find_many();
} else {
- return Model::factory('Definition')
- ->raw_query("select distinct Definition.* from Lexem join LexemDefinitionMap on Lexem.id = LexemDefinitionMap.lexemId " .
- "join Definition on LexemDefinitionMap.definitionId = Definition.id where formNoAccent $regexp " .
- "and Definition.status = $status and Definition.createDate >= $beginTime and Definition.createDate <= $endTime " .
- "$sourceClause $userClause order by lexicon, sourceId limit 500", null)->find_many();
+ $query = "select distinct Definition.* from Lexem join LexemDefinitionMap on Lexem.id = LexemDefinitionMap.lexemId " .
+ "join Definition on LexemDefinitionMap.definitionId = Definition.id where formNoAccent $regexp " .
+ "and Definition.status = $status and Definition.createDate >= $beginTime and Definition.createDate <= $endTime " .
+ "$sourceClause $userClause order by lexicon, sourceId limit 500";
+ return Model::factory('Definition')->raw_query($query, null)->find_many();
}
}
Modified: templates/admin/definitionList.ihtml
==============================================================================
--- templates/admin/definitionList.ihtml Tue Jul 16 11:33:31 2013 (r910)
+++ templates/admin/definitionList.ihtml Wed Jul 17 12:12:37 2013 (r911)
@@ -6,8 +6,8 @@
Sursa: {$row->source->shortName|escape} |
Trimisă de {$row->user->nick|escape},
{$row->definition->createDate|date_format:"%e %b %Y"} |
- {assign var=status value=`$row->definition->status`}
- {assign var=statusName value=`$allStatuses[$status]`}
+ {assign var=status value=$row->definition->status}
+ {assign var=statusName value=$allStatuses[$status]}
Starea: {$statusName} |
<a href="definitionEdit.php?definitionId={$row->definition->id}">Editează</a>
Modified: templates/common/errorMessage.ihtml
==============================================================================
--- templates/common/errorMessage.ihtml Tue Jul 16 11:33:31 2013 (r910)
+++ templates/common/errorMessage.ihtml Wed Jul 17 12:12:37 2013 (r911)
@@ -1,4 +1,4 @@
-{if $errorMessage}
+{if isset($errorMessage)}
<table class="errorMessage">
{if is_array($errorMessage)}
{foreach from=$errorMessage item=em}
More information about the Dev
mailing list