Index: openacs-4/packages/acs-lang/www/admin/message-list.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-lang/www/admin/message-list.xql,v
diff -u -r1.1.2.3 -r1.1.2.4
--- openacs-4/packages/acs-lang/www/admin/message-list.xql 11 Apr 2019 18:36:41 -0000 1.1.2.3
+++ openacs-4/packages/acs-lang/www/admin/message-list.xql 15 Apr 2019 12:17:52 -0000 1.1.2.4
@@ -4,30 +4,57 @@
- select count(*)
- from lang_messages lm1 left outer join
- lang_messages lm2 on
- (lm2.locale = :locale
+ select
+ count(*) as num_messages,
+ count(message_is_not_null + messages_not_deleted) as num_translated,
+ count(message_is_null + default_message_not_deleted + message_not_deleted) as num_untranslated,
+ count(any_message_deleted) as num_deleted
+ from (
+ select
+ case when lm2.message is null then 1 end message_is_null,
+ case when lm2.message is not null then 1 end message_is_not_null,
+ case when lm1.deleted_p = 't' or lm2.deleted_p = 't' then 1 end any_message_deleted,
+ case when lm1.deleted_p = 'f' and lm2.deleted_p = 'f' then 1 end messages_not_deleted,
+ case when lm1.deleted_p = 'f' then 1 end default_message_not_deleted,
+ case when lm2.deleted_p = 'f' or lm2.deleted_p is null then 1 end message_not_deleted
+ from
+ lang_messages lm1 left outer join
+ lang_messages lm2 on (
+ lm2.locale = :current_locale
+ and lm1.package_key = :package_key
and lm2.message_key = lm1.message_key
- and lm2.package_key = lm1.package_key),
- lang_message_keys lmk
- where lm1.locale = :default_locale
- and lm1.package_key = :package_key
- and lm1.message_key = lmk.message_key
- and lm1.package_key = lmk.package_key
- $where_clause
+ and lm2.package_key = lm1.package_key
+ )
+ where
+ lm1.locale = :default_locale
+ and
+ lm1.package_key = :package_key
+ ) lang_messages;
- select count(*)
- from lang_messages lm
- where package_key = :package_key
- and locale = :default_locale
- $where_clause
+ select
+ count(*) as num_messages,
+ count(message_is_not_null + message_not_deleted) as num_translated,
+ count(message_is_null + message_not_deleted) as num_untranslated,
+ count(message_deleted) as num_deleted
+ from (
+ select
+ case when message is null then 1 end message_is_null,
+ case when message is not null then 1 end message_is_not_null,
+ case when deleted_p = 't' then 1 end message_deleted,
+ case when deleted_p = 'f' then 1 end message_not_deleted
+ from
+ lang_messages
+ where
+ locale = :default_locale
+ and
+ package_key = :package_key
+ ) lang_messages;