Exemplo n.º 1
0
 def save(self, commit=True):
     door = DoorService.update(
         id=self.cleaned_data[ID],
         name=self.cleaned_data[NAME],
         access_id=self.cleaned_data[ACCESS_ID]
     )
     return door
Exemplo n.º 2
0
def detach_door(controller_id: int, door_id: int):
    controller = get(controller_id)
    door = DoorService.get(door_id)
    if controller.doors.filter(id=door_id) == 0:
        raise exceptions.DoorNotFound
    try:
        controller.doors.remove(door)
    except:
        raise exceptions.ControllerManageFailed
Exemplo n.º 3
0
def attach_door(controller_id: int, door_id: int):
    controller = get(controller_id)
    door = DoorService.get(door_id)
    if controller.doors.filter(id=door_id).count() > 0:
        raise exceptions.DoorNotFound
    try:
        controller.doors.add(door)
    except:
        raise exceptions.ControllerManageFailed
Exemplo n.º 4
0
def detach_door(place_id: int, door_id: int):
    place = get(place_id)
    door = DoorService.get(door_id)
    if place.doors.filter(id=door_id).count() == 0:
        raise exceptions.PlaceManageFailed
    try:
        place.doors.remove(door)
    except:
        raise exceptions.PlaceManageFailed
Exemplo n.º 5
0
    def __init__(self, *args, **kwargs):
        door_id = kwargs.pop('door_id', None)
        super(PlaceDetachForm, self).__init__(*args, **kwargs)

        if door_id:
            self.fields['door_id'].initial = door_id
            places = DoorService.get_attached_places(id=door_id)
            self.fields['places'].queryset = places
        self.fields['places'].empty_label = None
Exemplo n.º 6
0
    def __init__(self, *args, **kwargs):
        door_id = kwargs.pop('door_id', None)
        super(ControllerDetachForm, self).__init__(*args, **kwargs)

        if door_id:
            self.fields['door_id'].initial = door_id
            controllers = DoorService.get_attached_controllers(id=door_id)
            self.fields['controllers'].queryset = controllers
        self.fields['controllers'].empty_label = None
Exemplo n.º 7
0
class DoorMultipleChoiceForm(forms.Form):
    doors = forms.ModelMultipleChoiceField(queryset=DoorService.get_none(), widget=CheckboxSelectMultiple)
Exemplo n.º 8
0
 def get_queryset(self):
     try:
         return DoorService.get_attached_controllers(id=self.kwargs[ID])
     except:
         raise Http404
Exemplo n.º 9
0
 def delete(self, request: HttpRequest, id: str):
     id = self.parse_int_pk(id)
     DoorService.delete(id)
     return ApiResponse.success()
Exemplo n.º 10
0
 def put(self, request: HttpRequest, id: str, dto: DoorInDto):
     id = self.parse_int_pk(id)
     door = DoorService.update(id, dto.name, dto.access_id)
     return ApiResponse.success(DoorOutDto.from_door(door))
Exemplo n.º 11
0
 def get(self, request: HttpRequest, id: str):
     id = self.parse_int_pk(id)
     door = DoorService.get(id)
     return ApiResponse.success(DoorOutDto.from_door(door))
Exemplo n.º 12
0
 def post(self, request: HttpRequest, dto: DoorInDto):
     door = DoorService.create(dto.name, dto.access_id)
     return ApiResponse.success(DoorOutDto.from_door(door))
Exemplo n.º 13
0
 def get(self, request: HttpRequest):
     doors = DoorService.get_all()
     doors_dto = list([DoorOutDto.from_door(d) for d in doors])
     return ApiResponse.success(doors_dto)