def handle_delete(self, request, user, *args, **kwargs): """Trata as requisições de DELETE para remover uma associação entre um Equipamento e um Grupo. URL: /equipamentogrupo/equipamento/<id_equip>/egrupo/<id_egrupo>/ """ try: equip_id = kwargs.get('id_equip') if not is_valid_int_greater_zero_param(equip_id): self.log.error( u'The equip_id parameter is not a valid value: %s.', equip_id) raise InvalidValueError(None, 'equip_id', equip_id) egroup_id = kwargs.get('id_egrupo') if not is_valid_int_greater_zero_param(egroup_id): self.log.error( u'The egroup_id parameter is not a valid value: %s.', egroup_id) raise InvalidValueError(None, 'egroup_id', egroup_id) Equipamento.get_by_pk(equip_id) EGrupo.get_by_pk(egroup_id) if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION, None, equip_id, AdminPermission.EQUIP_WRITE_OPERATION): return self.not_authorized() with distributedlock(LOCK_EQUIPMENT_GROUP % egroup_id): EquipamentoGrupo.remove(user, equip_id, egroup_id) return self.response(dumps_networkapi({})) except InvalidValueError, e: return self.response_error(269, e.param, e.value)
def handle_get(self, request, user, *args, **kwargs): '''Trata as requisições de GET remover a associação entre um grupo de equipamento e um equipamento. URL: egrupo/equipamento/id_equip/egrupo/id_egrupo/ ''' try: id_equip = kwargs.get('id_equipamento') id_egrupo = kwargs.get('id_egrupo') if not is_valid_int_greater_zero_param(id_egrupo): raise InvalidValueError(None, 'id_egrupo', id_egrupo) if not is_valid_int_greater_zero_param(id_equip): raise InvalidValueError(None, 'id_equip', id_equip) equip = Equipamento.get_by_pk(id_equip) EGrupo.get_by_pk(id_egrupo) if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.WRITE_OPERATION, id_egrupo, id_equip, AdminPermission.EQUIP_WRITE_OPERATION): raise UserNotAuthorizedError( None, u'User does not have permission to perform the operation.') with distributedlock(LOCK_EQUIPMENT_GROUP % id_egrupo): EquipamentoGrupo.remove(user, equip.id, id_egrupo) return self.response(dumps_networkapi({})) except InvalidValueError, e: self.log.error( u'Parameter %s is invalid. Value: %s.', e.param, e.value) return self.response_error(269, e.param, e.value)
def handle_get(self, request, user, *args, **kwargs): """Trata as requisições de GET para listar todos os grupos de equipamento de um determindo equipamento. URL: egrupo/equip/id_equip """ try: if not has_perm(user, AdminPermission.EQUIPMENT_GROUP_MANAGEMENT, AdminPermission.READ_OPERATION): return self.not_authorized() if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.READ_OPERATION): return self.not_authorized() id_equip = kwargs.get('id_equip') if not is_valid_int_greater_zero_param(id_equip): raise InvalidValueError(None, 'id_equip', id_equip) equip = Equipamento.get_by_pk(id_equip) egroups = EquipamentoGrupo.get_by_equipment(equip.id) group_list = [] map_list = [] for egroup in egroups: group_list.append(EGrupo.get_by_pk(egroup.egrupo.id)) for egroup in group_list: egroup_map = dict() egroup_map['id'] = egroup.id egroup_map['nome'] = egroup.nome map_list.append(egroup_map) network_map = dict() network_map['grupo'] = map_list return self.response(dumps_networkapi(network_map)) except InvalidValueError, e: self.log.error(u'Parameter %s is invalid. Value: %s.', e.param, e.value) return self.response_error(269, e.param, e.value)
def handle_get(self, request, user, *args, **kwargs): '''Trata as requisições de GET para listar todos os grupos de equipamento de um determindo equipamento. URL: egrupo/equip/id_equip ''' try: if not has_perm(user, AdminPermission.EQUIPMENT_GROUP_MANAGEMENT, AdminPermission.READ_OPERATION): return self.not_authorized() if not has_perm(user, AdminPermission.EQUIPMENT_MANAGEMENT, AdminPermission.READ_OPERATION): return self.not_authorized() id_equip = kwargs.get('id_equip') if not is_valid_int_greater_zero_param(id_equip): raise InvalidValueError(None, 'id_equip', id_equip) equip = Equipamento.get_by_pk(id_equip) egroups = EquipamentoGrupo.get_by_equipment(equip.id) group_list = [] map_list = [] for egroup in egroups: group_list.append(EGrupo.get_by_pk(egroup.egrupo.id)) for egroup in group_list: egroup_map = dict() egroup_map['id'] = egroup.id egroup_map['nome'] = egroup.nome map_list.append(egroup_map) network_map = dict() network_map['grupo'] = map_list return self.response(dumps_networkapi(network_map)) except InvalidValueError, e: self.log.error( u'Parameter %s is invalid. Value: %s.', e.param, e.value) return self.response_error(269, e.param, e.value)
def insert_equipment_group(self, equip_id, group_id, user): equipment_group = EquipamentoGrupo() equipment_group.egrupo = EGrupo() equipment_group.egrupo.id = group_id equipment_group.equipamento = Equipamento() equipment_group.equipamento.id = equip_id try: equipment_group.create(user) equipment_group_map = dict() equipment_group_map['id'] = equipment_group.id map = dict() map['equipamento_grupo'] = equipment_group_map return self.response(dumps_networkapi(map)) except EGrupoNotFoundError: return self.response_error(102) except EquipamentoGrupoDuplicatedError: return self.response_error(146) except (EquipamentoError, GrupoError): return self.response_error(1)