Skip to content
This repository has been archived by the owner on Mar 25, 2022. It is now read-only.

Rebase on develop and improve display layout #46

Merged
merged 1 commit into from
Oct 4, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 5 additions & 4 deletions lagesonum/bottle_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -167,11 +167,12 @@ def send_static():
@view('views/display')
def display():

oldest_to_be_shown = datetime.datetime.now() - datetime.timedelta(days=MAX_DAYS)
# TODO optimize query even more, so we don't need to iterate manually?!
oldest_to_be_shown = datetime.datetime.combine(datetime.date.today() - datetime.timedelta(days=MAX_DAYS),
datetime.datetime.min.time())
# TODO optimize query, so we don't need to iterate manually, e.g. by selecing only count > min_count!
# TODO make Place variable and part of WHERE
numbers = Number.select(Number.number).join(Place).switch(Number).annotate(Place).\
where(Number.time >= oldest_to_be_shown).order_by(Number.number, Number.time)
numbers = Number.select(Number.number, Number.time, fn.Count(Number.number).alias('count')).\
where(Number.time >= oldest_to_be_shown).group_by(Number.number).order_by(Number.time.desc(), Number.number)

# filter numbers entered often enough
# format numbers for later output
Expand Down
2 changes: 1 addition & 1 deletion lagesonum/locales/de_DE/LC_MESSAGES/de_DE.po
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ msgstr ""

msgid "numberdisplaytxt"
msgstr ""
"Diese Nummern wurden seit %(since)s von mindestens %(min_count)s "
"Diese Nummern wurden als letzte seit %(since)s von mindestens %(min_count)s "
"verschiedenen Personen eingegeben."

msgid "webpagetitle"
Expand Down
Binary file modified lagesonum/locales/de_DE/LC_MESSAGES/messages.mo
Binary file not shown.
2 changes: 1 addition & 1 deletion lagesonum/locales/en_US/LC_MESSAGES/en_US.po
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ msgstr ""

msgid "numberdisplaytxt"
msgstr ""
"These numbers have been entered since %(since)s by at least %(min_count)s "
"These numbers have been entered latest since %(since)s by at least %(min_count)s "
"different persons."

msgid "webpagetitle"
Expand Down
Binary file modified lagesonum/locales/en_US/LC_MESSAGES/messages.mo
Binary file not shown.
9 changes: 5 additions & 4 deletions lagesonum/views/display.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
% if len(numbers) > 0:
<p>{{_('numberdisplaytxt') % ({'min_count': min_count, 'since': since})}}</p>

% for dic in numbers:
{{dic['num']}}: {{dic['count']}},
% end

<div class="row col-xs-12 col-md-8" style="float:initial;white-space:nowrap;">
%for number in numbers:
<div class="col-xs-4 col-md-2"><code>{{number['num']}} ({{number['count']}}x)</code></div>
%end
</div>
<p><br>{{_('alphabetorder')}}</p>

% include('views/footer.tpl')
Expand Down
21 changes: 21 additions & 0 deletions migrate_db.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
ALTER TABLE numbers RENAME TO old_numbers;
ALTER TABLE places RENAME TO old_places;
ALTER TABLE users RENAME TO old_users;

DELETE FROM old_numbers WHERE number IN ('A123', '2015', 'A00000');
UPDATE old_numbers SET number = UPPER(number);

CREATE TABLE "user" ("id" INTEGER NOT NULL PRIMARY KEY, "username" VARCHAR(10) NOT NULL, "password" VARCHAR(20) NOT NULL, "is_admin" SMALLINT NOT NULL);
CREATE UNIQUE INDEX "user_username" ON "user" ("username");
CREATE TABLE "place" ("id" INTEGER NOT NULL PRIMARY KEY, "valregexp" VARCHAR(99) NOT NULL, "place" VARCHAR(20) NOT NULL, "min_length" INTEGER NOT NULL, "max_length" INTEGER NOT NULL);
CREATE TABLE "number" ("id" INTEGER NOT NULL PRIMARY KEY, "number" VARCHAR(30) NOT NULL, "time" DATETIME NOT NULL, "user_id" INTEGER, "place_id" INTEGER NOT NULL, "fingerprint" VARCHAR(32) NOT NULL, FOREIGN KEY ("user_id") REFERENCES "user" ("id"), FOREIGN KEY ("place_id") REFERENCES "place" ("id"));
CREATE INDEX "number_place_id" ON "number" ("place_id");
CREATE INDEX "number_user_id" ON "number" ("user_id");
CREATE UNIQUE INDEX "number_number_fingerprint" ON "number" ("number", "fingerprint");

INSERT INTO place VALUES(1, '\b[a-z0-9]{4}\b', 'LAGESO', 0, 10);
INSERT INTO number (number, time, place_id, fingerprint) SELECT number, time, 1, fingerprint FROM old_numbers;

DROP TABLE old_numbers;
DROP TABLE old_users;
DROP TABLE old_places;