Compare commits

...

3 Commits

Author SHA1 Message Date
Lukáš Kucharczyk 9d142126b1 Do not require timestamp_end, initialize db
continuous-integration/drone/push Build is failing Details
2023-01-03 00:13:26 +01:00
Lukáš Kucharczyk 0f2f0d281e Add Makefile 2023-01-02 20:03:31 +01:00
Lukáš Kucharczyk a115adae28 Ignore db.sqlite3 2023-01-02 20:03:26 +01:00
6 changed files with 83 additions and 3 deletions

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
__pycache__
.venv
node_modules
package-lock.json
package-lock.json
db.sqlite3

View File

@ -12,6 +12,7 @@ RUN git clone https://git.kucharczyk.xyz/lukas/timetracker.git /home/timetracker
WORKDIR /home/timetracker/app
RUN chown -R timetracker /home/timetracker/app
RUN poetry install
RUN make initialize
EXPOSE 8000
USER timetracker
CMD [ "python3", "src/web/manage.py", "runserver", "0.0.0.0:8000" ]

34
Makefile Normal file
View File

@ -0,0 +1,34 @@
.PHONY: createsuperuser
all: css migrate
initialize: css migrate loadplatforms
HTMLFILES := $(shell find src\web\tracker\templates -type f)
css: src\input.css $(HTMLFILES)
npx tailwindcss -i .\src\input.css -o .\src\web\tracker\static\base.css
css-dev: css
npx tailwindcss -i .\src\input.css -o .\src\web\tracker\static\base.css --watch
makemigrations:
python src\web\manage.py makemigrations
migrate: makemigrations
python src\web\manage.py migrate
dev: migrate
python src\web\manage.py runserver
dumptracker:
python src\web\manage.py dumpdata --format yaml tracker --output tracker_fixture.yaml
loadplatforms:
python src\web\manage.py loaddata platforms.yaml
loadsample:
python src\web\manage.py loaddata sample.yaml
createsuperuser:
python src\web\manage.py createsuperuser

View File

@ -0,0 +1,21 @@
# Generated by Django 4.1.4 on 2023-01-02 18:55
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("tracker", "0001_initial"),
]
operations = [
migrations.AlterField(
model_name="session",
name="duration_manual",
field=models.DurationField(
blank=True, default=datetime.timedelta(0), null=True
),
),
]

View File

@ -0,0 +1,23 @@
# Generated by Django 4.1.4 on 2023-01-02 23:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("tracker", "0002_alter_session_duration_manual"),
]
operations = [
migrations.AlterField(
model_name="session",
name="duration_manual",
field=models.DurationField(blank=True, null=True),
),
migrations.AlterField(
model_name="session",
name="timestamp_end",
field=models.DateTimeField(blank=True, null=True),
),
]

View File

@ -31,8 +31,8 @@ class Platform(models.Model):
class Session(models.Model):
purchase = models.ForeignKey("Purchase", on_delete=models.CASCADE)
timestamp_start = models.DateTimeField()
timestamp_end = models.DateTimeField()
duration_manual = models.DurationField(blank=True, null=True, default=timedelta(0))
timestamp_end = models.DateTimeField(blank=True, null=True)
duration_manual = models.DurationField(blank=True, null=True)
duration_calculated = models.DurationField(blank=True, null=True)
note = models.TextField(blank=True, null=True)