Allow creation of repo with label from form
This commit is contained in:
parent
3853f2ba2d
commit
c7da5c26c8
|
@ -5,3 +5,4 @@ class RepoForm(forms.Form):
|
||||||
fingerprint = forms.CharField(label='Fingerprint')
|
fingerprint = forms.CharField(label='Fingerprint')
|
||||||
location = forms.CharField(label='Location')
|
location = forms.CharField(label='Location')
|
||||||
last_modified = forms.DateTimeField(label='Last Modified', input_formats=["%Y-%m-%dT%H:%M:%S.%z"])
|
last_modified = forms.DateTimeField(label='Last Modified', input_formats=["%Y-%m-%dT%H:%M:%S.%z"])
|
||||||
|
label = forms.CharField(label='Label')
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse, HttpResponseRedirect
|
from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotAllowed
|
||||||
|
|
||||||
from .models import Repo
|
from .models import Repo, Label
|
||||||
from .forms import RepoForm
|
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
from .forms import RepoForm
|
||||||
|
|
||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
|
@ -13,23 +13,31 @@ def index(request):
|
||||||
context = {
|
context = {
|
||||||
'repo_list': repo_list,
|
'repo_list': repo_list,
|
||||||
'hour_list': hour_list
|
'hour_list': hour_list
|
||||||
}
|
}
|
||||||
return render(request, 'borg/index.html', context)
|
return render(request, 'borg/index.html', context)
|
||||||
|
|
||||||
|
|
||||||
def get_repo(request):
|
def get_repo(request):
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
# create a form instance and populate it with data from the request:
|
|
||||||
form = RepoForm(request.POST)
|
form = RepoForm(request.POST)
|
||||||
# check whether it's valid:
|
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
print(form.cleaned_data)
|
cdata = form.cleaned_data
|
||||||
# process the data in form.cleaned_data as required
|
|
||||||
# ...
|
|
||||||
# redirect to a new URL:
|
|
||||||
return HttpResponseRedirect(reverse('index'))
|
|
||||||
|
|
||||||
# if a GET (or any other method) we'll create a blank form
|
repo_query = Repo.objects.all().filter(fingerprint=cdata['fingerprint'])
|
||||||
|
if len(repo_query) > 0:
|
||||||
|
label = repo_query[0].label
|
||||||
|
label.label = cdata['label']
|
||||||
|
label.save()
|
||||||
|
|
||||||
|
label, _ = Label.objects.get_or_create(label=cdata['label'])
|
||||||
|
label.save()
|
||||||
|
repo, repo_exists = Repo.objects.update_or_create(fingerprint=cdata['fingerprint'],
|
||||||
|
defaults={'location': cdata['location'],
|
||||||
|
'last_modified': cdata['last_modified'],
|
||||||
|
'label': label})
|
||||||
|
repo.save()
|
||||||
|
|
||||||
|
return HttpResponseRedirect(reverse('index'))
|
||||||
else:
|
else:
|
||||||
form = RepoForm()
|
form = RepoForm()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user