inputhoursform works with postresql db

This commit is contained in:
Alicja Cięciwa
2020-11-13 17:13:14 +01:00
parent d5de4155b6
commit 8512818192
7 changed files with 76 additions and 52 deletions

30
.idea/workspace.xml generated
View File

@@ -2,34 +2,10 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="15f590a5-5017-44f1-a85e-17dfe3fc5379" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/INSTALLER" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/LICENSE" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/METADATA" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/RECORD" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/REQUESTED" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/WHEEL" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2-2.8.6.dist-info/top_level.txt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/__init__.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/_ipaddress.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/_json.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/_lru_cache.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/_psycopg.cp38-win32.pyd" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/_range.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/compat.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/errorcodes.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/errors.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/extensions.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/extras.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/pool.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/sql.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/Lib/site-packages/psycopg2/tz.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/work/migrations/0001_initial.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/work/migrations/0002_hoursinput_date.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/work/migrations/__init__.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/config/settings.py" beforeDir="false" afterPath="$PROJECT_DIR$/config/settings.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/db.sqlite3" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/work/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/work/models.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/templates/inputhours.html" beforeDir="false" afterPath="$PROJECT_DIR$/templates/inputhours.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/work/forms.py" beforeDir="false" afterPath="$PROJECT_DIR$/work/forms.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/work/views.py" beforeDir="false" afterPath="$PROJECT_DIR$/work/views.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />

View File

@@ -1,6 +1,7 @@
{% extends "base.html" %}
{% block content %}
{% load crispy_forms_tags %}
<div class="container">
<div class="row">
@@ -15,7 +16,7 @@
<div class="form-hours">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
{{ form | crispy}}
<button class="btn btn-lg btn-success btn-block" type="submit">Dodaj</button>
</form>
</div>

View File

@@ -1,4 +1,5 @@
from django import forms
from work.models import HoursInput
# from django.forms import extras
from django.forms.widgets import SelectDateWidget
from datetime import datetime, date
@@ -10,32 +11,69 @@ WORKPLACE_CHOICE =(
("2", "TWO")
)
# base form to input the number of hours
class HoursInputForm(forms.Form):
date = forms.DateTimeField(
input_formats=['%d/%m/%Y'],
widget=forms.DateTimeInput(attrs={
'class': 'form-control',
'type': 'date',
'value': datetime.now().strftime("%d-%m-%Y")
# class HoursInputForm(forms.Form):
# date = forms.DateField(
# # input_formats=['%d.%m.%Y'],
# widget=forms.DateInput(attrs={
# 'class': 'form-control',
# 'type': 'date',
# # 'value': datetime.now().strftime("%d-%m-%Y")
# }),
# label="")
#
# hours_number = forms.IntegerField(
# label="",
# widget=forms.NumberInput(attrs={'required': True, 'type': 'number',
# 'placeholder': 'Liczba godzin', 'class': 'form-control'} ),
# min_value=0,
# max_value=15
# )
#
# workplace = forms.CharField(
# label="",
# widget=forms.TextInput(attrs={'autofocus': True, 'class': 'form-control',
# 'placeholder': 'Miejsce pracy'}),
# required=True
# )
class HoursInputForm(forms.ModelForm):
class Meta:
model = HoursInput
fields = ['date', 'hours_number', 'workplace']
def __init__(self, *args, **kwargs):
super(HoursInputForm, self).__init__(*args, **kwargs)
self.fields['date'] = forms.DateField(
widget=forms.DateInput(attrs={
'placeholder': 'Data',
'type': 'date',
}),
label="",
)
error_messages={
'required': 'Podaj właściwą datę',
})
self.fields['hours_number'] = forms.IntegerField(
widget=forms.NumberInput(attrs={
'placeholder': 'Liczba godzin'
}),
error_messages={
'required': 'Wprowadź liczbę godzin',
})
self.fields['workplace'] = forms.CharField(
widget=forms.TextInput(attrs={
'placeholder': 'Miejsce pracy'
}),
error_messages={
'required': 'Wprowadź miejsce pracy',
})
hours_number = forms.IntegerField(
label="",
widget=forms.NumberInput(attrs={'required': True, 'type': 'number',
'placeholder': 'Liczba godzin', 'class': 'form-control'} ),
min_value = 0,
max_value = 15
)
for field in ['date', 'hours_number', 'workplace']:
self.fields[field].help_text = None
self.fields[field].label = ''
workplace = forms.CharField(
label="",
widget=forms.TextInput(attrs={'autofocus': True, 'class': 'form-control',
'placeholder': 'Miejsce pracy'}),
required=True
)
# class HoursInputForm(ModelForm):
# class Meta:
# model = HoursInput

View File

@@ -1,14 +1,23 @@
from django.http import HttpResponseRedirect
from django.shortcuts import render
from work.models import HoursInput
from work.forms import HoursInputForm
import psycopg2
def get_basic_workdata(request):
title = 'Rejestracja'
title = None
if request.method == 'POST':
form = HoursInputForm(request.POST)
if form.is_valid():
return HttpResponseRedirect('/home/')
form.save()
# form.date = request.POST.get('date')
# form.hours_number = request.POST.get('hours_number')
# form.workplace = request.POST.get('workplace')
# date = form.cleaned_data['date']
# hours_number = form.cleaned_data['hours_number']
# workplace = form.cleaned_data['workplace']
return HttpResponseRedirect('/')
else:
form = HoursInputForm()