from django.shortcuts import render
from django.contrib import messages
from django.shortcuts import redirect
import requests
from django.http import HttpResponse




# Create your views here.
def get_machine_data():  # sourcery skip: inline-immediately-returned-variable
   response = requests.get('https://thingsaccess.com/rfid/index.php/Api/getMachine')
   data_send = response.json()
   data = data_send['response']
   return data

def machine_page(request):
   data = get_machine_data()
   return render(request, 'machine/machine.html',context={'data': data})

def Add_Machine(request):
   if request.method == 'POST':
      data = {
          'title': request.POST.get('title'),
          'device_ID': request.POST.get('device_ID'),
          'step_ID': request.POST.get('step_ID'),
          'state': request.POST.get('state'),
      }
      response = requests.post('https://thingsaccess.com/rfid/index.php/Api/addMachine', json=data)
      if response.status_code != 200:
         # Insertion failed, show error message to user
         return HttpResponse("Machine not added successfully")
      return redirect('machine_page')
   return render(request, 'machine/addMachine.html')


def Edit_Machine(request,id):
   response = requests.get('https://thingsaccess.com/rfid/index.php/Api/getMachine')
   data_send = response.json()
   data = data_send['response']
   edit_item = None
   for item in data:
        if item['ID'] == id:
            edit_item = item
            break
   if edit_item:
      if request.method == 'POST':
         data = {
               'id':id,
               'title': request.POST.get('title'),
               'device_ID': request.POST.get('device_ID'),
               'step_ID': request.POST.get('step_ID'),
               'state': request.POST.get('state'),
         }
         response = requests.post('https://thingsaccess.com/rfid/index.php/Api/editMachine', json=data)
         if response.status_code == 200:
               return redirect('machine_page')
               # messages.success(request, 'Data added successfully')
         else:
               # Insertion failed, show error message to user
               messages.error(request, 'Failed to edit data')

   return render(request,'machine/editMachine.html',context={'item': edit_item})
  
def delete_Machine(request,id):
   data_delete = {
        'id': id
   }
   print(data_delete)
   response = requests.post('https://thingsaccess.com/rfid/index.php/Api/deleteMachine', json=data_delete)
   if response.status_code != 200:
      messages.error(request, 'Failed to delete data')
   return redirect('machine_page')


   
