file version update view

This commit is contained in:
fjrodriguez
2023-02-10 11:07:59 -06:00
parent ddc4be05a2
commit 3aaa0cd909
3 changed files with 63 additions and 5 deletions

6
Sistemas/forms.py Normal file
View File

@@ -0,0 +1,6 @@
from django import forms
from .models import Sistema
class SistemaForm(forms.ModelForm):
class Meta:
model = Sistema
fields = ['nombre_sistema','version']

View File

@@ -31,6 +31,7 @@ import traceback
from django.core.files.storage import default_storage from django.core.files.storage import default_storage
from django.core.files.base import ContentFile from django.core.files.base import ContentFile
from .customStorage import CustomStorage from .customStorage import CustomStorage
from .forms import SistemaForm
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
@login_required @login_required
@@ -39,10 +40,12 @@ def uploadZipViewHTML(request):
user = request.user user = request.user
if user.is_superuser: if user.is_superuser:
token= Token.objects.get(user=user) token= Token.objects.get(user=user)
sistemas= Sistema.objects.all()
else: else:
redirect('index') redirect('index')
context = { context = {
'token':token.key, 'token':token.key,
'sistemas':sistemas,
} }
template_name= 'Sistemas/manageSystem/uploadZip.html' template_name= 'Sistemas/manageSystem/uploadZip.html'
return render(request, template_name,context) return render(request, template_name,context)
@@ -57,13 +60,20 @@ class UploadZipVersionView(APIView):
def post(self,request,format=None): def post(self,request,format=None):
try: try:
zip_file=request.FILES['zip_file'] zip_file=request.FILES['zip_file']
version = request.POST.get('version')
sistema = request.POST.get('sistema')
#print(request.POST)
except KeyError: except KeyError:
return Response({'error':'Zip file is required'},status=status.HTTP_400_BAD_REQUEST) return Response({'error':'Zip file is required'},status=status.HTTP_400_BAD_REQUEST)
try: try:
versionSistema = Sistema.objects.get(id=sistema)
versionSistema.version=version
versionSistema.save()
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
download_system_dir = os.path.join(BASE_DIR,'downloadSystems') download_system_dir = os.path.join(BASE_DIR,'downloadSystems')
custom_storage = CustomStorage(location=download_system_dir) custom_storage = CustomStorage(location=download_system_dir)
print('path exist? ',os.path.exists(download_system_dir)) #print('path exist? ',os.path.exists(download_system_dir))
fileName = custom_storage.save(zip_file.name, ContentFile(zip_file.read())) fileName = custom_storage.save(zip_file.name, ContentFile(zip_file.read()))
except Exception as ex: except Exception as ex:

View File

@@ -6,18 +6,60 @@
{% block content %} {% block content %}
<form id="upload-form"> <form id="upload-form">
<input type="file" name="zip_file"> <input type="file" name="zip_file" required>
<hr>
<label for="id_sistema">Sistema </label>
<select id="id_sistema" name="sistema" required>
{% for sistema in sistemas %}
<option value="{{ sistema.id }}">{{ sistema.nombre_sistema }} ({{ sistema.version }})</option>
{% endfor %}
</select><br><br>
<label for="id_version">version </label>
<input id="id_version" type="text" name="version"><br><br>
<label for="anio">Año:</label>
<input type="number" id="anio" name="anio" required min="23" max="30" required>
<label for="mes">Mes:</label>
<input type="number" id="mes" name="mes" required min="1" max="12" required>
<label for="mayor">Mayor:</label>
<input type="number" id="mayor" name="mayor" required min="0" max="99" value="0" required>
<label for="menor">Menor:</label>
<input type="number" id="menor" name="menor" required min="0" max="99" value="0" required>
<br><br>
<button type="submit">Upload</button> <button type="submit">Upload</button>
</form> </form>
<input type="hidden" id="id_token" name="token" value="{{ token }}"> <input type="hidden" id="id_token" name="token" value="{{ token }}">
{% endblock content %} {% endblock content %}
{% block scripts %} {% block scripts %}
<script> <script>
var currentYear = (new Date()).getFullYear();
var currentMonthNUm = (new Date()).getMonth() +1;
console.log('currentMonth',currentMonthNUm)
var anio = document.getElementById("anio");
anio.value = currentYear.toString().slice(-2);
var mes = document.getElementById("mes");
mes.value = currentMonthNUm.toString()//.padStart(2,"0");
var mayor = document.getElementById("mayor");
var menor = document.getElementById("menor");
var version = document.getElementById("id_version");
anio.addEventListener("change", updateVersion);
mes.addEventListener("change", updateVersion);
mayor.addEventListener("change", updateVersion);
menor.addEventListener("change", updateVersion);
function updateVersion() {
console.log('sss',anio.value.toString() )
version.value = anio.value.toString()+"."+mes.value.toString() +"."+mayor.value.toString()+"."+menor.value.toString();
}
document.getElementById('upload-form').addEventListener('submit', function (event) { document.getElementById('upload-form').addEventListener('submit', function (event) {
event.preventDefault(); event.preventDefault();
let formData = new FormData(event.target); let formData = new FormData(event.target);