summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2015-05-13 11:44:04 +0200
committerYorhel <git@yorhel.nl>2015-05-13 11:44:04 +0200
commit2a783edbab51aa490884814c9c45f919886d70ef (patch)
tree98651556b6bd7f8b3e059381aa1a968cad624161
parent339599d9f8afaa61862836d2c89ce0d76045f122 (diff)
Add staff statistic to main menu
-rw-r--r--data/lang.txt12
-rw-r--r--lib/Multi/Maintenance.pm1
-rw-r--r--lib/VNDB/Util/LayoutHTML.pm2
-rw-r--r--util/sql/all.sql3
-rw-r--r--util/updates/update_2.25.sql7
5 files changed, 24 insertions, 1 deletions
diff --git a/data/lang.txt b/data/lang.txt
index 545ef6bf..ab178cfd 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -3466,6 +3466,18 @@ tr : Karakterler
uk : Персонажі
it : Personaggi
+:_menu_stat_staff
+en : Staff
+ru*:
+cs*:
+hu*:
+nl*:
+de*:
+es*:
+tr*:
+uk*:
+it*:
+
:_menu_stat_tags
en : VN Tags
ru : Тегов
diff --git a/lib/Multi/Maintenance.pm b/lib/Multi/Maintenance.pm
index 7f5d8799..d7a9907d 100644
--- a/lib/Multi/Maintenance.pm
+++ b/lib/Multi/Maintenance.pm
@@ -137,6 +137,7 @@ my %monthlies = (
stats_rel => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM releases WHERE hidden = FALSE) WHERE section = 'releases'|,
stats_prod => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM producers WHERE hidden = FALSE) WHERE section = 'producers'|,
stats_chars => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM chars WHERE hidden = FALSE) WHERE section = 'chars'|,
+ stats_chars => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM staff WHERE hidden = FALSE) WHERE section = 'staff'|,
stats_tags => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM tags WHERE state = 2) WHERE section = 'tags'|,
stats_trait => q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM traits WHERE state = 2) WHERE section = 'traits'|,
stats_thread=> q|UPDATE stats_cache SET count = (SELECT COUNT(*) FROM threads WHERE hidden = FALSE) WHERE section = 'threads'|,
diff --git a/lib/VNDB/Util/LayoutHTML.pm b/lib/VNDB/Util/LayoutHTML.pm
index e51ec998..e9cc4c54 100644
--- a/lib/VNDB/Util/LayoutHTML.pm
+++ b/lib/VNDB/Util/LayoutHTML.pm
@@ -125,7 +125,7 @@ sub _menu {
h2 mt '_menu_dbstats';
div;
dl;
- for (qw|vn releases producers chars tags traits users threads posts|) {
+ for (qw|vn releases producers chars staff tags traits users threads posts|) {
dt mt "_menu_stat_$_";
dd $self->{stats}{$_};
}
diff --git a/util/sql/all.sql b/util/sql/all.sql
index c4afb502..1377e3ad 100644
--- a/util/sql/all.sql
+++ b/util/sql/all.sql
@@ -52,6 +52,8 @@ CREATE TRIGGER stats_cache_new AFTER INSERT ON releases
CREATE TRIGGER stats_cache_edit AFTER UPDATE ON releases FOR EACH ROW WHEN (OLD.hidden IS DISTINCT FROM NEW.hidden) EXECUTE PROCEDURE update_stats_cache();
CREATE TRIGGER stats_cache_new AFTER INSERT ON chars FOR EACH ROW WHEN (NEW.hidden = FALSE) EXECUTE PROCEDURE update_stats_cache();
CREATE TRIGGER stats_cache_edit AFTER UPDATE ON chars FOR EACH ROW WHEN (OLD.hidden IS DISTINCT FROM NEW.hidden) EXECUTE PROCEDURE update_stats_cache();
+CREATE TRIGGER stats_cache_new AFTER INSERT ON staff FOR EACH ROW WHEN (NEW.hidden = FALSE) EXECUTE PROCEDURE update_stats_cache();
+CREATE TRIGGER stats_cache_edit AFTER UPDATE ON staff FOR EACH ROW WHEN (OLD.hidden IS DISTINCT FROM NEW.hidden) EXECUTE PROCEDURE update_stats_cache();
CREATE TRIGGER stats_cache_new AFTER INSERT ON tags FOR EACH ROW WHEN (NEW.state = 2) EXECUTE PROCEDURE update_stats_cache();
CREATE TRIGGER stats_cache_edit AFTER UPDATE ON tags FOR EACH ROW WHEN (OLD.state IS DISTINCT FROM NEW.state) EXECUTE PROCEDURE update_stats_cache();
CREATE TRIGGER stats_cache_new AFTER INSERT ON traits FOR EACH ROW WHEN (NEW.state = 2) EXECUTE PROCEDURE update_stats_cache();
@@ -132,6 +134,7 @@ INSERT INTO stats_cache (section, count) VALUES
('producers', 0),
('releases', 0),
('chars', 0),
+ ('staff', 0),
('tags', 0),
('traits', 0),
('threads', 0),
diff --git a/util/updates/update_2.25.sql b/util/updates/update_2.25.sql
index 5aef2ece..a7ccf6c4 100644
--- a/util/updates/update_2.25.sql
+++ b/util/updates/update_2.25.sql
@@ -29,3 +29,10 @@ ALTER TABLE vn_staff ALTER role DROP DEFAULT;
ALTER TABLE vn_staff ALTER role TYPE credit_type USING role::text::credit_type;
ALTER TABLE vn_staff ALTER role SET DEFAULT 'staff';
DROP TYPE credit_type2;
+
+
+-- Staff stat
+INSERT INTO stats_cache (section, count) VALUES ('staff', 0);
+CREATE TRIGGER stats_cache_new AFTER INSERT ON staff FOR EACH ROW WHEN (NEW.hidden = FALSE) EXECUTE PROCEDURE update_stats_cache();
+CREATE TRIGGER stats_cache_edit AFTER UPDATE ON staff FOR EACH ROW WHEN (OLD.hidden IS DISTINCT FROM NEW.hidden) EXECUTE PROCEDURE update_stats_cache();
+UPDATE stats_cache SET count = (SELECT COUNT(*) FROM staff WHERE hidden = FALSE) WHERE section = 'staff'