Skip to content

Instantly share code, notes, and snippets.

@kaqfa
Last active December 17, 2019 01:24
Show Gist options
  • Save kaqfa/f41d11993c82ccd9d4d15b5a397e00b2 to your computer and use it in GitHub Desktop.
Save kaqfa/f41d11993c82ccd9d4d15b5a397e00b2 to your computer and use it in GitHub Desktop.
Snippet for Django
from django.db import models
from django.contrib.humanize.templatetags.humanize import intcomma
class Package(models.Model):
PACK_STATUS = [('a', 'Aktif'), ('n', 'Non-Aktif')]
code = models.CharField('Kode', max_length=3, blank=True, null=True)
price = models.IntegerField('Harga', blank=False, null=False, default=0)
state = models.CharField('Status', max_length=1, choices=PACK_STATUS, default='a')
created_at = models.DateTimeField('dibuat', auto_now_add=True)
updated_at = models.DateTimeField('diupdate', auto_now=True)
class Meta:
unique_together = ('code', 'state',)
verbose_name_plural = 'Paket Pendaftaran'
def __str__(self):
return self.name+" - "+intcomma(int(self.price))
from django.shortcuts import render,HttpResponse
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.contrib.auth.decorators import login_required
from django.core.exceptions import ObjectDoesNotExist
@login_required(login_url='/admin/login?next=/rakornas/presence')
@csrf_exempt
def presence(req, event_id):
context = {'event': Event.objects.get(pk=event_id)}
try:
peserta = Peserta.objects.filter(qr_path=req.POST.get('qr_path'))
presence = Presence()
presence.event = context['event']
presence.peserta = peserta[0]
presence.save()
response = {'error': None, 'peserta': {'name': peserta[0].name }}
return JsonResponse(response)
except IntegrityError:
return HttpResponse('{"error": "%s sudah presensi pada acara %s"}'
% (peserta[0].name, context['event'].name))
except ObjectDoesNotExist:
return HttpResponse('{"error": "QR-Code Peserta tidak ditemukan"}')
return render(req, 'rakornas/form_presence.html', context=context)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment