diff --git a/src/data/templates/browse_page.html b/src/data/templates/browse_page.html index f8f9db370..9548c4d15 100644 --- a/src/data/templates/browse_page.html +++ b/src/data/templates/browse_page.html @@ -20,7 +20,7 @@ Database information:

{% if view.2 %} {{view.0}} - {{view.2.objects.count|format_number}} + {{view.1|table_count}} {% endif %} {% endfor %} diff --git a/src/data/templates/main_page.html b/src/data/templates/main_page.html index fd4fa2f35..696293949 100644 --- a/src/data/templates/main_page.html +++ b/src/data/templates/main_page.html @@ -28,7 +28,7 @@ Database information:

{% if view.2 %}
{{view.0}} - {{view.2.objects.count|format_number}} + {{view.1|table_count}} {% endif %} {% endfor %} diff --git a/src/webapp/dbdjango.py b/src/webapp/dbdjango.py index b8cd5c5f8..30f2cf662 100644 --- a/src/webapp/dbdjango.py +++ b/src/webapp/dbdjango.py @@ -297,7 +297,7 @@ class DbDjango(DbWriteBase, DbReadBase): in a format that contains a C/Python style format string using %d, such as C%d or C%04d. """ - self.source_prefix = self._validated_id_prefix(val, "C") + self.citation_prefix = self._validated_id_prefix(val, "C") self.cid2user_format = self.__id2user_format(self.citation_prefix) def set_source_id_prefix(self, val): diff --git a/src/webapp/grampsdb/templatetags/my_tags.py b/src/webapp/grampsdb/templatetags/my_tags.py index b76392804..b42940716 100644 --- a/src/webapp/grampsdb/templatetags/my_tags.py +++ b/src/webapp/grampsdb/templatetags/my_tags.py @@ -93,6 +93,9 @@ register.filter('probably_alive', probably_alive) format_number.is_safe = True register.filter('format_number', format_number) +table_count.is_safe = True +register.filter('table_count', table_count) + person_get_birth_date.is_safe = True register.filter('person_get_birth_date', person_get_birth_date) diff --git a/src/webapp/utils.py b/src/webapp/utils.py index d0b031cfc..5cc8e9130 100644 --- a/src/webapp/utils.py +++ b/src/webapp/utils.py @@ -132,6 +132,33 @@ def format_number(number, with_grouping=True): else: return locale.format("%d", 0, with_grouping) +def table_count(table, with_grouping=True): + # FIXME: should be user's setting + locale.setlocale(locale.LC_ALL, "en_US.utf8") + if table == "person": + number = models.Person.objects.count() + elif table == "family": + number = models.Family.objects.count() + elif table == "event": + number = models.Event.objects.count() + elif table == "note": + number = models.Note.objects.count() + elif table == "media": + number = models.Media.objects.count() + elif table == "citation": + number = models.Citation.objects.count() + elif table == "source": + number = models.Source.objects.count() + elif table == "place": + number = models.Place.objects.count() + elif table == "repository": + number = models.Repository.objects.count() + elif table == "tag": + number = models.Tag.objects.count() + else: + return "[unknown table]" + return locale.format("%d", number, with_grouping) + def nbsp(string): """ """