2017-03-25 8 views
0

Ich habe einen Kalender, der mit der aktuellen Admin-Verbindung verbunden sein soll. Wenn der Administrator ein Datum im Kalender auswählt und das Formular registriert, sodass das Ereignis festgelegt wird. Aber wenn ich mich bei einer anderen Admins-Organisation anmelde, kann ich das Event immer noch vom letzten Admin sehen. Ich möchte sie getrennt voneinander halten.Django - verhindern, dass Benutzer auf den gleichen Wert zugreifen können

Noch ein Neuling, so führe mich auf die richtige Weise und schätze all deine Hilfe, Leute!


models.py

class Administrator(AbstractUser): 
     ... 
     association = models.ForeignKey(Association) 


class Event(models.Model): 
     ... 
     association = models.ForeignKey(Association) 


class Association(models.Model): 
     asoc_name = models.CharField(max_length=50, null=True, blank=True) 

views.py

def event_add_edit(request): 
    if request.method == 'POST': 
     res = {'success': False} 

     action = request.POST['action'] 
     name = request.POST['name'] 
     location = request.POST['location'] 
     start = request.POST['start'] 
     end = request.POST['end'] 
     allday = request.POST['allday'] == 'true' 
     description = request.POST['description'] 
     synced = request.POST['synced'] == 'true' 
     association = Association.objects.filter(asoc_name=request.user.association) 
     asoc = Association.objects.get(id=association) 

     if action == 'add': 
      Event.objects.create(
       name=name, 
       location=location, 
       start=start, 
       end=end, 
       allday=allday, 
       description=description, 
       synced=synced, 
       association=asoc 
      ) 

      res['success'] = True 
      res['message'] = 'added' 
      eid = Event.objects.latest('id').id 
      res['eid'] = eid 
      res['data'] = Event.objects.values().get(id=eid) 
     elif action == 'edit': 


      eid = request.POST['eid'] 
      event = Event.objects.get(id=eid) 
      event.name = name 
      event.location = location 
      event.start = start 
      event.end = end 
      event.allday = allday 
      event.description = description 
      event.synced = synced 
      event.save() 

      res['success'] = True 
      res['message'] = 'edited' 
      res['eid'] = eid 
      res['data'] = Event.objects.values().get(id=eid) 

     return JsonResponse(res) 
    else: 
     raise Http404 

Antwort

0

sammeln Sie die Ereignisse, die nur aus dem Verein Ihre aktuell eingeloggt sind wie.

+0

wie mache ich das bitte? – Niknak

Verwandte Themen