예제 #1
0
def parse_log_entry_to_log_model(logentry: LogEntry) -> Log:
    """
    Converts LogEntry instance to apache DB model Log
    :param logentry: LogEntry object instance
    :return: Log object instance
    """
    if logentry is None:
        return Log()

    url = logentry.headers_in["Referer"]
    urn = logentry.request_line.split()[1]
    uri = url  # TODO correctly concatenate URI from URL+URN

    log = Log(
        ip_address=logentry.remote_host,
        created_date=logentry.request_time,
        http_method=logentry.request_line.split()[0],
        uri=uri,
        url=url,
        urn=urn,
        response_code=logentry.final_status,
        content_length=logentry.bytes_sent,
        user_agent=logentry.headers_in["User-Agent"],
    )

    log.clean_fields()

    return log
예제 #2
0
 def create_invalid_login_log(self, serializer):
     username = self.request.data['username']
     if username:
         try:
             Log(
                 type=Log.Types.INVALID_LOGIN,
                 user=User.objects.get(username=username),
             ).save()
         except User.DoesNotExist:
             Log(type=Log.Types.INVALID_LOGIN).save()
     else:
         Log(type=Log.Types.INVALID_LOGIN).save()
예제 #3
0
    def handle(self, *args, **kwargs):
        MAX_DESCRIPTION_LENGTH = Log._meta.get_field('description').max_length

        e_query = Event.objects.filter(
            Q(end_date__lt=datetime.datetime.today())
            | Q(end_date=datetime.datetime.today(),
                end_time__lte=timezone.now()))
        e_query = [e for e in e_query if e.s_calendar.nonprofit]
        #^ get events that are done and have an assoicated nonprofit calendar
        a_query = Attendee.objects.filter(
            event__in=e_query, log__isnull=True, user__isnull=False
        )  #get attendees who were at a completed event and who do not have logs
        if not a_query:
            self.stdout.write("All attendee events have logs created")
            sys.exit()
        for a in a_query:
            e = a.event
            np = e.s_calendar.nonprofit
            duration = e.end_datetime - e.start_datetime
            description_header = 'Automatically created log for the attended event "%s":\n' % e.s_title
            log = Log(attendee=a,
                      user=a.user,
                      nonprofit=np,
                      duration=duration,
                      start_date=e.start_date,
                      description=(description_header +
                                   e.s_description)[:MAX_DESCRIPTION_LENGTH])
            log.save()
            self.stdout.write("Log created for attendee " + str(a) +
                              ", event " + str(e.s_title))
예제 #4
0
def add_log(title, description=''):
    action = Action()
    action.description = description
    log = Log()
    log.title = title
    log.actions.append(action)
    log.save()
예제 #5
0
 def parse_all(self, file_path: str):
     t1 = time.time()
     logger.info('Starting saving file to db')
     with open(file_path, 'r') as f:
         next(f)  # первая строка - пустая
         bulk_mng = BulkCreateManager()
         for entry in self.parser.parse_lines(f, ignore_invalid=True):
             ip_address = entry.remote_host
             timestamp = entry.request_time
             response_status_code = entry.final_status
             http_method, request_path, http_protocol = entry.request_line.split(
             )
             content_length = entry.bytes_sent
             user_agent = entry.headers_in['User-Agent']
             referer = entry.headers_in['Referer']
             bulk_mng.add(
                 Log(ip_address=ip_address,
                     timestamp=timestamp,
                     response_status_code=response_status_code,
                     http_method=http_method,
                     request_path=request_path,
                     http_protocol=http_protocol,
                     content_length=content_length,
                     user_agent=user_agent,
                     referer=referer))
         bulk_mng.done()  # удостовериться что все данные добавились в бд
         logger.info(f'It took {time.time() - t1} seconds')
    def create(self, validated_data):
        password = validated_data.pop("password")
        user = User(**validated_data)
        user.set_password(password)
        user.save()

        Log(type=Log.Types.SIGN_UP, user=user).save()
        return user
예제 #7
0
def tronco_remove(request, id):
    tronco = Tronco.objects.get(id=id)
    nome = tronco.nome
    tronco.delete()
    texto = request.user.username + " removeu o tronco: " + nome
    log = Log(log=texto)
    log.save()
    return redirect('/troncos/')
예제 #8
0
def anuncio_remove(request, id):
    anuncio = Anuncio.objects.get(id=id)
    nome = anuncio.descricao
    anuncio.delete()
    texto = request.user.username + " removeu o anúncio: " + nome
    log = Log(log=texto)
    log.save()
    return redirect('/anuncios/')
예제 #9
0
def condicoestempo_remove(request, id):
    condicoestempo = CondicaoTempo.objects.get(id=id)
    nome = condicoestempo.nome
    condicoestempo.delete()
    texto = request.user.username + " removeu a condição de tempo: " + nome
    log = Log(log=texto)
    log.save()
    return redirect('/condicoestempo/')
예제 #10
0
파일: views.py 프로젝트: enailecr/CAMBOXURA
def ura_remove(request, id):
    ura = URA.objects.get(id=id)
    nome = ura.nome
    ura.delete()
    texto = request.user.username + " removeu a URA: " + nome
    log = Log(log=texto)
    log.save()
    return redirect('/uras/')
예제 #11
0
파일: views.py 프로젝트: enailecr/CAMBOXURA
def fila_remove(request, id):
    fila = Fila.objects.get(id=id)
    nome = fila.nome
    fila.delete()
    texto = request.user.username + " removeu a fila: " +nome
    log = Log(log= texto)
    log.save()

    return redirect('/filas/')
예제 #12
0
파일: views.py 프로젝트: enailecr/CAMBOXURA
def numero_remove(request, id):
    numero = NumeroEntrada.objects.get(id=id)
    num = numero.numero
    numero.delete()
    texto = request.user.username + ": removeu o número de entrada: " + num
    log = Log(log=texto)
    log.save()

    return redirect('/numeros/')
예제 #13
0
def chamadasgrupo_remove(request, id):
    chamadasgrupo = ChamadaEmGrupo.objects.get(id=id)
    cham = chamadasgrupo.descricao
    chamadasgrupo.delete()
    texto = request.user.username + ": removeu a chamada em grupo: " +cham
    log = Log(log= texto)
    log.save()

    return redirect('/chamadasgrupo/')
예제 #14
0
def save_log(member, timestamp, status):
    working_day, _ = WorkingDay.objects.get_or_create(date=timestamp.date())
    log = Log(
        member_fk=member,
        timestamp=timestamp,
        status=status,
        working_day=working_day,
    )
    log.save()

    return log
예제 #15
0
    def post(self, *args, **kwargs):
        blocked = get_object_or_404(User.objects, username=kwargs["username"])
        _, created = Block.objects.get_or_create(
            blocker=self.request.user, blocked=blocked
        )

        if created:
            Log(
                type=Log.Types.BLOCK, user=self.request.user, affected_user=blocked
            ).save()

        return Response(data={}, status=status.HTTP_201_CREATED)
 def create(self, validated_data):
     request = self.context.get('request')
     user = request.user
     server_name = validated_data.get('server_name')
     type = validated_data.get('type')
     message = validated_data.get('message')
     text = validated_data.get('text')
     log_obj = Log(server_name=server_name, type=type,
                   message=message, text=text)
     log_obj.user = user
     log_obj.save()
     return log_obj
예제 #17
0
 def put(self, request, pk):
     problem = get_object_or_404(Problem, pk=pk)
     last_status = problem.status
     back_url = request.GET.get('next', reverse('problems:index'))
     context = {}
     form = ProblemForm(data=request.POST, instance=problem)
     if form.is_valid():
         if last_status == 0 and problem.status == 1:
             log = Log(title='Problema resolvido',
                       description='',
                       problem=problem)
             log.save()
         elif last_status == 1 and problem.status == 0:
             log = Log(title='Problema não resolvido',
                       description='',
                       problem=problem)
             log.save()
         form.save()
         messages.success(request, 'Problema alterado com sucesso!')
     context['form'] = form
     context['back_url'] = back_url
     return render(request, self.template_name, context)
예제 #18
0
파일: parse_log.py 프로젝트: RJD2/parse_log
 def save_log(data: tuple) -> bool:
     try:
         log = Log()
         log.ip = data[0]
         log.date = datetime.strptime(data[1], "%d/%b/%Y:%H:%M:%S %z")
         log.method = data[2].split()[0]
         log.uri = data[2].split()[1]
         log.status_code = int(data[3]) if data[3].isdigit() else None
         log.size = int(data[4]) if data[4].isdigit() else None
         log.save()
     except Exception as e:
         logger.error(f"Error {e} on saving: {''.join(data)}")
         return False
     return True
    def create(self, validated_data):
        sender = self.context["request"].user
        reciever = self.context["other_user"]

        validated_data["sender"] = sender
        validated_data["reciever"] = reciever
        if Block.objects.filter(blocker=reciever, blocked=sender).exists():
            validated_data["is_blocked"] = True

        message = super().create(validated_data)

        Log(type=Log.Types.MESSAGE_SEND, user=sender,
            affected_user=reciever).save()

        return message
예제 #20
0
    def post(self, *args, **kwargs):
        blocked = get_object_or_404(User.objects, username=kwargs["username"])
        delete_count = Block.objects.filter(
            blocker=self.request.user, blocked=blocked
        ).delete()

        if delete_count:
            Log(
                type=Log.Types.UN_BLOCK, user=self.request.user, affected_user=blocked
            ).save()

        Message.objects.filter(
            sender=blocked, reciever=self.request.user, is_blocked=True
        ).update(is_blocked=False)

        return Response(data={}, status=status.HTTP_204_NO_CONTENT)
예제 #21
0
def index(request):
    if request.user.role != 1:
        problems = Problem.objects.filter(user_id=request.user.id)
    else:
        problems = Problem.objects.all()
    template_name = 'problems/index.html'
    context = {}
    form = ProblemForm(request.POST or None)
    if form.is_valid():
        form.save()
        form = ProblemForm()
        problem_id = Problem.objects.latest('id')
        log = Log(title='Problema criado', description='', problem=problem_id)
        log.save()
        messages.success(request, 'Problema inserido com sucesso!')
    context['items'] = Item.objects.all()
    context['problems'] = problems
    context['form'] = form
    context['form'].fields['user'].initial = request.user.id

    return render(request, template_name, context)
예제 #22
0
def upload_file_cad(request):
    if request.method == 'POST':
        myfile = request.FILES['anexGravacao']
        fs = FileSystemStorage()
        filename = fs.save(myfile.name, myfile)
        uploaded_file_url = fs.url(filename)

        nome = request.POST['nomeGravacao']
        tipo = '2'
        gravacao = Gravacao(nome=nome, link=uploaded_file_url, tipo=tipo)
        gravacao.save()

        texto = request.user.username + ": adicionou a gravação: " + nome
        log = Log(log=texto)
        log.save()

        gravacoes = Gravacao.objects.exclude(musica__isnull=False)
        data = {}
        data['gravacao'] = gravacao
        data['gravacoes'] = gravacoes
        dest_anuncios = Anuncio.objects.all()
        dest_gravacoes = Gravacao.objects.all()
        dest_numeros = NumeroEntrada.objects.all()
        dest_uras = URA.objects.all()
        dest_filas = Fila.objects.all()
        dest_chamadasGrupo = ChamadaEmGrupo.objects.all()
        dest_condicoes = CondicaoTempo.objects.all()
        dest_troncos = Tronco.objects.all()
        data['dest_anuncios'] = dest_anuncios
        data['dest_gravacoes'] = dest_gravacoes
        data['dest_numeros'] = dest_numeros
        data['dest_uras'] = dest_uras
        data['dest_filas'] = dest_filas
        data['dest_chamadasGrupo'] = dest_chamadasGrupo
        data['dest_condicoes'] = dest_condicoes
        data['dest_troncos'] = dest_troncos
        return render(request, 'CadastroAnuncio.html', data)
예제 #23
0
파일: views.py 프로젝트: enailecr/CAMBOXURA
def fila_novo(request):
    nome = request.POST['nome']
    senha = request.POST['senha']
    if 'dicas_disp' in request.POST:
        dicasDisp = request.POST['dicas_disp']
    else:
        dicasDisp = False
    if 'conf_cham' in request.POST:
        confirmCham = request.POST['conf_cham']
    else:
        confirmCham = False
    anuncConfirmCham = request.POST['anunc_confirm_cham']
    if anuncConfirmCham != '0':
        anuncConfirmCham = Anuncio.objects.get(id=anuncConfirmCham)
    prefixCID = request.POST['prefix_cid']
    prefixTempoEspera = request.POST['prefix_tempo']
    infoAlerta = request.POST['info']
    restringAgentDin = request.POST['restring_agent_din']
    restricAgente = request.POST['restric_agente']

    estratChamada = request.POST['estrat_ring']
    if 'p_auto' in request.POST:
        preenchAuto = request.POST['p_auto']
    else:
        preenchAuto = False
    igAgentesOcup = request.POST['ignorar_agen_ocup']
    pesoFila = request.POST['peso']
    musEspera = request.POST['musica_esp']
    if musEspera != '0':
        musEspera = Musica.objects.get(id=musEspera)
    tipoMus = request.POST['tipo_mus']
    anuncUniao = request.POST['anuncio_uniao']
    if anuncUniao !='0':
        anuncUniao = Anuncio.objects.get(id=anuncUniao)
    quandoAnun = request.POST['quando_anuncio']
    gravacaoChamada = request.POST['grav_cham']
    modoGravacao = request.POST['modo_grav']
    ajustVolumeChamada = request.POST['vol_cham']
    ajustVolumeAgente = request.POST['vol_agent']
    if 'mcrol' in request.POST:
        marcaChamOutroLug = request.POST['mcrol']
    else:
        marcaChamOutroLug = False

    maxTempoEspera = request.POST['max_temp']
    modoMaxTempoEspera = request.POST['modo_max_esp']
    tempoLimAgent = request.POST['limit_temp_agente']
    reinicioTempoLimAg = request.POST['rest_agnt']
    retentativa = request.POST['retentativa']
    tempoConclusao = request.POST['temp_conclu']
    atrasoMembro = request.POST['atraso_membro']
    anuncioAgente = request.POST['agnt_a']
    if anuncioAgente != '0':
        anuncioAgente = Anuncio.objects.get(id=anuncioAgente)
    relatorioTemEsp = request.POST['report_time']
    pausaAutom = request.POST['pausa_auto']
    pausaAutoOcup = request.POST['pausa_ocup']
    pausaAutoIndispo = request.POST['pausa_ind']
    atrasoPausaAut = request.POST['delay_pausa']

    maxChamadores = request.POST['max_callers']
    unirVazio = request.POST['join_empty']
    deixarVazio = request.POST['leave_empty']
    limMembrosPenal = request.POST['penalty']

    frequencia = request.POST['frequency']
    posAnuncio = request.POST['position_anun']
    anuncTempoEsp = request.POST['anun_tempEsp']

    menuSaidaURA = request.POST['break_out']
    if menuSaidaURA != '0':
        menuSaidaURA = URA.objects.get(id=menuSaidaURA)
    frequenRepet = request.POST['r_frequency']

    eventChamado = request.POST['event_called']
    eventStatusMem = request.POST['event_status']
    nivelServico = request.POST['service_level']
    filtro = request.POST['filtro_regex']

    if 'dest_anuncios' in request.POST:
        dest_anuncios = request.POST['dest_anuncios']

    if 'dest_gravacoes' in request.POST:
        dest_gravacoes = request.POST['dest_gravacoes']

    if 'dest_numeros' in request.POST:
        dest_numeros = request.POST['dest_numeros']

    if 'dest_uras' in request.POST:
        dest_uras = request.POST['dest_uras']

    if 'dest_filas' in request.POST:
        dest_filas = request.POST['dest_filas']

    if 'dest_chamadasGrupo' in request.POST:
        dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

    if 'dest_condicoes' in request.POST:
        dest_condicoes = request.POST['dest_condicoes']

    if 'dest_troncos' in request.POST:
        dest_troncos = request.POST['dest_troncos']

    destinoId = '0'
    if dest_anuncios != '0':
        destinoId = dest_anuncios
    if dest_gravacoes != '0':
        destinoId = dest_gravacoes
    if dest_numeros != '0':
        destinoId = dest_numeros
    if dest_uras != '0':
        destinoId = dest_uras
    if dest_filas != '0':
        destinoId = dest_filas
    if dest_chamadasGrupo != '0':
        destinoId = dest_chamadasGrupo
    if dest_condicoes != '0':
        destinoId = dest_condicoes
    if dest_troncos != '0':
        destinoId = dest_troncos

    tipoDestino = request.POST['tipo_des']

    reporEstat = request.POST['repor_estat']

    tipo = '5'

    fila = Fila(nome=nome,
                senha=senha,
                dicasDisp=dicasDisp,
                confirmCham=confirmCham,
                prefixCID=prefixCID,
                prefixTempoEspera=prefixTempoEspera,
                infoAlerta=infoAlerta,
                restringAgentDin=restringAgentDin,
                restricAgente=restricAgente,
                estratChamada=estratChamada,
                preenchAuto=preenchAuto,
                igAgentesOcup = igAgentesOcup,
                pesoFila = pesoFila,
                tipoMus = tipoMus,
                quandoAnun = quandoAnun,
                gravacaoChamada = gravacaoChamada,
                modoGravacao = modoGravacao,
                ajustVolumeChamada = ajustVolumeChamada,
                ajustVolumeAgente = ajustVolumeAgente,
                marcaChamOutroLug=marcaChamOutroLug,
                maxTempoEspera = maxTempoEspera,
                modoMaxTempoEspera = modoMaxTempoEspera,
                tempoLimAgent = tempoLimAgent,
                reinicioTempoLimAg = reinicioTempoLimAg,
                retentativa = retentativa,
                tempoConclusao = tempoConclusao,
                atrasoMembro = atrasoMembro,
                relatorioTemEsp = relatorioTemEsp,
                pausaAutom = pausaAutom,
                pausaAutoOcup = pausaAutoOcup,
                pausaAutoIndispo = pausaAutoIndispo,
                atrasoPausaAut = atrasoPausaAut,
                maxChamadores = maxChamadores,
                unirVazio = unirVazio,
                deixarVazio = deixarVazio,
                frequencia = frequencia,
                posAnuncio = posAnuncio,
                anuncTempoEsp = anuncTempoEsp,
                frequenRepet = frequenRepet,
                eventChamado = eventChamado,
                eventStatusMem = eventStatusMem,
                nivelServico = nivelServico,
                filtro = filtro,
                reporEstat = reporEstat,
                tipo=tipo
                )
    fila.save()

    if destinoId != '0':
        fila.destinoFalhaTipo = tipoDestino
        fila.destinoFalha = destinoId
        fila.save()

    if anuncConfirmCham != '0':
        fila.anuncConfirmCham=anuncConfirmCham
        fila.save()

    if musEspera != '0':
        fila.musEspera = musEspera
        fila.save()

    if anuncUniao !='0':
        fila.anuncUniao = anuncUniao
        fila.save()

    if anuncioAgente != '0':
        fila.anuncioAgente = anuncioAgente
        fila.save()

    if menuSaidaURA != '0':
        fila.menuSaidaURA = menuSaidaURA
        fila.save()

    if limMembrosPenal !='0':
        fila.limMembrosPenal = limMembrosPenal
        fila.save()

    lista_area = request.POST['agentes_est']
    cont = 1
    agentes = lista_area.splitlines()
    for linha in agentes:
        lin = linha.strip(" ")
        if lin != "":
            agente = AgentesDinamicos(numero=lin, ordem=cont, fila=fila)
            agente.save()
            cont = cont +1

    lista_area = request.POST['membros_din']
    cont = 1
    agentes = lista_area.splitlines()
    for linha in agentes:
        lin = linha.strip(" ")
        if lin != "":
            agente = MembrosDinamicos(numero=lin, ordem=cont, fila=fila)
            agente.save()
            cont = cont +1

    texto = request.user.username + " adicionou a fila: " +nome
    log = Log(log= texto)
    log.save()

    return redirect ('/filas/')
예제 #24
0
파일: views.py 프로젝트: enailecr/CAMBOXURA
def fila_edita(request, id):
    data = {}

    fila = Fila.objects.get(id=id)
    data['fila'] = fila
    if request.method == 'POST':
        nome = request.POST['nome']
        senha = request.POST['senha']
        if 'dicas_disp' in request.POST:
            dicasDisp = request.POST['dicas_disp']
        else:
            dicasDisp = False
        if 'conf_cham' in request.POST:
            confirmCham = request.POST['conf_cham']
        else:
            confirmCham = False
        anuncConfirmCham = request.POST['anunc_confirm_cham']
        if anuncConfirmCham != '0':
            anuncConfirmCham = Anuncio.objects.get(id=anuncConfirmCham)
        prefixCID = request.POST['prefix_cid']
        prefixTempoEspera = request.POST['prefix_tempo']
        infoAlerta = request.POST['info']
        restringAgentDin = request.POST['restring_agent_din']
        restricAgente = request.POST['restric_agente']

        estratChamada = request.POST['estrat_ring']
        if 'p_auto' in request.POST:
            preenchAuto = request.POST['p_auto']
        else:
            preenchAuto = False
        igAgentesOcup = request.POST['ignorar_agen_ocup']
        pesoFila = request.POST['peso']
        musEspera = request.POST['musica_esp']
        if musEspera != '0':
            musEspera = Musica.objects.get(id=musEspera)
        tipoMus = request.POST['tipo_mus']
        anuncUniao = request.POST['anuncio_uniao']
        if anuncUniao !='0':
            anuncUniao = Anuncio.objects.get(id=anuncUniao)
        quandoAnun = request.POST['quando_anuncio']
        gravacaoChamada = request.POST['grav_cham']
        modoGravacao = request.POST['modo_grav']
        ajustVolumeChamada = request.POST['vol_cham']
        ajustVolumeAgente = request.POST['vol_agent']
        if 'mcrol' in request.POST:
            marcaChamOutroLug = request.POST['mcrol']
        else:
            marcaChamOutroLug = False

        maxTempoEspera = request.POST['max_temp']
        modoMaxTempoEspera = request.POST['modo_max_esp']
        tempoLimAgent = request.POST['limit_temp_agente']
        reinicioTempoLimAg = request.POST['rest_agnt']
        retentativa = request.POST['retentativa']
        tempoConclusao = request.POST['temp_conclu']
        atrasoMembro = request.POST['atraso_membro']
        anuncioAgente = request.POST['agnt_a']
        if anuncioAgente != '0':
            anuncioAgente = Anuncio.objects.get(id=anuncioAgente)
        relatorioTemEsp = request.POST['report_time']
        pausaAutom = request.POST['pausa_auto']
        pausaAutoOcup = request.POST['pausa_ocup']
        pausaAutoIndispo = request.POST['pausa_ind']
        atrasoPausaAut = request.POST['delay_pausa']

        maxChamadores = request.POST['max_callers']
        unirVazio = request.POST['join_empty']
        deixarVazio = request.POST['leave_empty']
        limMembrosPenal = request.POST['penalty']

        frequencia = request.POST['frequency']
        posAnuncio = request.POST['position_anun']
        anuncTempoEsp = request.POST['anun_tempEsp']

        menuSaidaURA = request.POST['break_out']
        if menuSaidaURA != '0':
            menuSaidaURA = URA.objects.get(id=menuSaidaURA)
        frequenRepet = request.POST['r_frequency']

        eventChamado = request.POST['event_called']
        eventStatusMem = request.POST['event_status']
        nivelServico = request.POST['service_level']
        filtro = request.POST['filtro_regex']

        if 'dest_anuncios' in request.POST:
            dest_anuncios = request.POST['dest_anuncios']

        if 'dest_gravacoes' in request.POST:
            dest_gravacoes = request.POST['dest_gravacoes']

        if 'dest_numeros' in request.POST:
            dest_numeros = request.POST['dest_numeros']

        if 'dest_uras' in request.POST:
            dest_uras = request.POST['dest_uras']

        if 'dest_filas' in request.POST:
            dest_filas = request.POST['dest_filas']

        if 'dest_chamadasGrupo' in request.POST:
            dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

        if 'dest_condicoes' in request.POST:
            dest_condicoes = request.POST['dest_condicoes']

        if 'dest_troncos' in request.POST:
            dest_troncos = request.POST['dest_troncos']

        destinoId = '0'
        if dest_anuncios != '0':
            destinoId = dest_anuncios
        if dest_gravacoes != '0':
            destinoId = dest_gravacoes
        if dest_numeros != '0':
            destinoId = dest_numeros
        if dest_uras != '0':
            destinoId = dest_uras
        if dest_filas != '0':
            destinoId = dest_filas
        if dest_chamadasGrupo != '0':
            destinoId = dest_chamadasGrupo
        if dest_condicoes != '0':
            destinoId = dest_condicoes
        if dest_troncos != '0':
            destinoId = dest_troncos

        tipoDestino = request.POST['tipo_des']

        reporEstat = request.POST['repor_estat']

        fila.nome=nome
        fila.senha=senha
        fila.dicasDisp=dicasDisp
        fila.confirmCham=confirmCham
        fila.prefixCID=prefixCID
        fila.prefixTempoEspera=prefixTempoEspera
        fila.infoAlerta=infoAlerta
        fila.restringAgentDin=restringAgentDin
        fila.restricAgente=restricAgente
        fila.estratChamada=estratChamada
        fila.preenchAuto=preenchAuto
        fila.igAgentesOcup = igAgentesOcup
        fila.pesoFila = pesoFila
        fila.tipoMus = tipoMus
        fila.quandoAnun = quandoAnun
        fila.gravacaoChamada = gravacaoChamada
        fila.modoGravacao = modoGravacao
        fila.ajustVolumeChamada = ajustVolumeChamada
        fila.ajustVolumeAgente = ajustVolumeAgente
        fila.marcaChamOutroLug=marcaChamOutroLug
        fila.maxTempoEspera = maxTempoEspera
        fila.modoMaxTempoEspera = modoMaxTempoEspera
        fila.tempoLimAgent = tempoLimAgent
        fila.reinicioTempoLimAg = reinicioTempoLimAg
        fila.retentativa = retentativa
        fila.tempoConclusao = tempoConclusao
        fila.atrasoMembro = atrasoMembro
        fila.relatorioTemEsp = relatorioTemEsp
        fila.pausaAutom = pausaAutom
        fila.pausaAutoOcup = pausaAutoOcup
        fila.pausaAutoIndispo = pausaAutoIndispo
        fila.atrasoPausaAut = atrasoPausaAut
        fila.maxChamadores = maxChamadores
        fila.unirVazio = unirVazio
        fila.deixarVazio = deixarVazio
        fila.frequencia = frequencia
        fila.posAnuncio = posAnuncio
        fila.anuncTempoEsp = anuncTempoEsp
        fila.frequenRepet = frequenRepet
        fila.eventChamado = eventChamado
        fila.eventStatusMem = eventStatusMem
        fila.nivelServico = nivelServico
        fila.filtro = filtro
        fila.reporEstat = reporEstat
        fila.save()

        if limMembrosPenal != '0':
            fila.limMembrosPenal = limMembrosPenal
            fila.save()

        if destinoId != '0':
            fila.destinoFalhaTipo = tipoDestino
            fila.destinoFalha = destinoId
            fila.save()

        if anuncConfirmCham != '0':
            fila.anuncConfirmCham=anuncConfirmCham
            fila.save()

        if musEspera != '0':
            fila.musEspera = musEspera
            fila.save()

        if anuncUniao !='0':
            fila.anuncUniao = anuncUniao
            fila.save()

        if anuncioAgente != '0':
            fila.anuncioAgente = anuncioAgente
            fila.save()

        if menuSaidaURA != '0':
            fila.menuSaidaURA = menuSaidaURA
            fila.save()

        agentesE = AgentesDinamicos.objects.filter(fila=id)
        for item in agentesE:
            item.delete()

        agentes_area = request.POST['agentes_est']
        cont = 1
        lista = agentes_area.splitlines()
        for linha in lista:
            lin = linha.strip(" ")
            if lin != "":
                lista = AgentesDinamicos(numero=lin, ordem=cont, fila=fila)
                lista.save()
                cont = cont +1

        membrosD = MembrosDinamicos.objects.filter(fila=id)
        for item in membrosD:
            item.delete()

        membros_area = request.POST['membros_din']
        cont = 1
        lista = membros_area.splitlines()
        for linha in lista:
            lin = linha.strip(" ")
            if lin != "":
                lista = MembrosDinamicos(numero=lin, ordem=cont, fila=fila)
                lista.save()
                cont = cont +1

        texto = request.user.username + " editou a fila: " +fila.nome
        log = Log(log= texto)
        log.save()

        return redirect('/filas/')
    else:
        dest_anuncios = Anuncio.objects.all()
        dest_gravacoes = Gravacao.objects.all()
        dest_numeros = NumeroEntrada.objects.all()
        dest_uras = URA.objects.all()
        dest_filas = Fila.objects.all()
        dest_chamadasGrupo = ChamadaEmGrupo.objects.all()
        dest_condicoes = CondicaoTempo.objects.all()
        dest_troncos = Tronco.objects.all()
        anun_conf_chamada = Anuncio.objects.all()
        musicas = Musica.objects.all()
        anun_uniao = Anuncio.objects.all()
        agen_anunc = Anuncio.objects.all()
        break_out = URA.objects.all()
        data['dest_anuncios'] = dest_anuncios
        data['dest_gravacoes'] = dest_gravacoes
        data['dest_numeros'] = dest_numeros
        data['dest_uras'] = dest_uras
        data['dest_filas'] = dest_filas
        data['dest_chamadasGrupo'] = dest_chamadasGrupo
        data['dest_condicoes'] = dest_condicoes
        data['dest_troncos'] = dest_troncos
        data['anun_conf_chamada'] = anun_conf_chamada
        data['musicas'] = musicas
        data['anun_uniao'] = anun_uniao
        data['agen_anunc'] = agen_anunc
        data['break_out'] = break_out

        agentesD = AgentesDinamicos.objects.filter(fila=id)
        agentesEstaticos = ""
        for num in agentesD:
            agentesEstaticos = agentesEstaticos+num.numero.strip() +"\n"
        data['agentesEstaticos'] = agentesEstaticos

        membrosD = MembrosDinamicos.objects.filter(fila=id)
        membrosDinamicos = ""
        for num in membrosD:
            membrosDinamicos = membrosDinamicos+num.numero.strip() +"\n"
        data['membrosDinamicos'] = membrosDinamicos

        return render(request, 'editaFila.html', data)
print(header_name)

data_list = []
for row in rows:
    data_list.append({col: value for col, value in zip(header_name, row)})

office = Office.objects.all()[0]

for data in data_list:
    print('log {} start', data['id'])
    pprint(data)
    (member, _) = Member.objects.get_or_create(
        id=data["chat_id"],
        first_name=data["first_name"],
        last_name=data["last_name"],
        office_fk=office,
    )
    log = Log(created=datetime.now(),
              id=data["id"],
              member_fk=member,
              timestamp=data["timestamp"],
              status=data["category"],
              optional_status=data['sub_category'],
              longitude=data['longitude'],
              latitude=data['latitude'],
              confirmation=data['confirmation'],
              edit_history=data['history'],
              remarks=data['remarks'])
    log.save()
    print('log {} saved', data['id'])
conn.close()
예제 #26
0
def chamadasgrupo_novo(request):
    descricao = request.POST['descricao']
    estrategia = request.POST['estrategia']
    tempoChamada = request.POST['tempoChamada']
    anuncioCGID = request.POST['anuncioCG']
    if anuncioCGID == "0" :
        anuncioCG = None
    else:
        anuncioCG = Anuncio.objects.get(id=anuncioCGID)
    #musicaEspera = request.POST['musicaEspera']
    musicasID = request.POST['musicaEspera']
    if musicasID == "0" :
        musicas = None
    else:
        musicas = Musica.objects.get(id=musicasID)
    prefixCID = request.POST['prefixCID']
    infoAlerta = request.POST['infoAlerta']
    #anuncioRemoto
    anuncioRemotoID = request.POST['anuncioRemoto']
    if anuncioRemotoID == "0" :
        anuncioRemoto = None
    else:
        anuncioRemoto = Anuncio.objects.get(id=anuncioRemotoID)
    #anuncioTardio
    anuncioTardioID = request.POST['anuncioTardio']
    if anuncioTardioID == "0" :
        anuncioTardio = None
    else:
        anuncioTardio = Anuncio.objects.get(id=anuncioTardioID)
    modo = request.POST['modo']
    valorFixoCID = request.POST['valorFixoCID']
    gravarChamadas = request.POST['gravarChamadas']

    if 'igConfigCF' in request.POST:
        igConfigCF = request.POST['igConfigCF']
    else:
        igConfigCF = False

    if 'igAgentOcupado' in request.POST:
        igAgentOcupado = request.POST['igAgentOcupado']
    else:
        igAgentOcupado = False

    if 'atendeChamada' in request.POST:
        atendeChamada = request.POST['atendeChamada']
    else:
        atendeChamada = False

    if 'confirm_chamada' in request.POST:
        confirmaChamada = request.POST['confirm_chamada']
    else:
        confirmaChamada = False

    if 'dest_anuncios' in request.POST:
        dest_anuncios = request.POST['dest_anuncios']

    if 'dest_gravacoes' in request.POST:
        dest_gravacoes = request.POST['dest_gravacoes']

    if 'dest_numeros' in request.POST:
        dest_numeros = request.POST['dest_numeros']

    if 'dest_uras' in request.POST:
        dest_uras = request.POST['dest_uras']

    if 'dest_filas' in request.POST:
        dest_filas = request.POST['dest_filas']

    if 'dest_chamadasGrupo' in request.POST:
        dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

    if 'dest_condicoes' in request.POST:
        dest_condicoes = request.POST['dest_condicoes']

    if 'dest_troncos' in request.POST:
        dest_troncos = request.POST['dest_troncos']

    destinoId = 0
    if dest_anuncios != '0':
        destinoId = dest_anuncios
    if dest_gravacoes != '0':
        destinoId = dest_gravacoes
    if dest_numeros != '0':
        destinoId = dest_numeros
    if dest_uras != '0':
        destinoId = dest_uras
    if dest_filas != '0':
        destinoId = dest_filas
    if dest_chamadasGrupo != '0':
        destinoId = dest_chamadasGrupo
    if dest_condicoes != '0':
        destinoId = dest_condicoes
    if dest_troncos != '0':
        destinoId = dest_troncos

    tipoDestino = request.POST['tipo_des']

    tipo = '6'
    chamadasgrupo = ChamadaEmGrupo(descricao=descricao, gravarChamadas=gravarChamadas, modo=modo , estrategia=estrategia, tempoChamada=tempoChamada, prefixCID=prefixCID, infoAlerta=infoAlerta,valorFixoCID=valorFixoCID,
    igConfigCF=igConfigCF,igAgentOcupado=igAgentOcupado, atendeChamada=atendeChamada,confirmaChamada=confirmaChamada, anuncioCG=anuncioCG,
    anuncioRemoto=anuncioRemoto,anuncioTardio=anuncioTardio, musicaEspera=musicas, tipo=tipo   )
    # musica = Musica( )
    chamadasgrupo.save()
    if destinoId != 0:
        chamadasgrupo.destinoTipo = tipoDestino
        chamadasgrupo.destino = destinoId
        chamadasgrupo.save()

    lista_area = request.POST['lista_ext']
    cont = 1
    lista = lista_area.splitlines()
    for linha in lista:
        lista = ListaExtensao(numero=linha, ordem=cont, chamada=chamadasgrupo)
        lista.save()
        cont = cont +1

    texto = request.user.username + " adicionou a chamada em grupo: " +descricao
    log = Log(log= texto)
    log.save()

    return redirect ('/chamadasgrupo/')
예제 #27
0
def chamadasgrupo_edita(request, id):
    data = {}
    chamadasgrupo = ChamadaEmGrupo.objects.get(id=id)
    data['chamadasgrupo'] = chamadasgrupo
    if request.method == 'POST':
        chamadasgrupo = ChamadaEmGrupo.objects.get(id=id)

        descricao = request.POST['descricao']
        estrategia = request.POST['estrategia']
        tempoChamada = request.POST['tempoChamada']
        anuncioCGID = request.POST['anuncioCG']
        if anuncioCGID == "0" :
            anuncioCG = None
        else:
            anuncioCG = Anuncio.objects.get(id=anuncioCGID)
        #musicaEspera = request.POST['musicaEspera']
        musicaEsperaID = request.POST['musicaEspera']
        if musicaEsperaID == "0" :
            musicaEspera = None
        else:
            musicaEspera = Musica.objects.get(id=musicaEsperaID)
        prefixCID = request.POST['prefixCID']
        infoAlerta = request.POST['infoAlerta']
        #anuncioRemoto
        anuncioRemotoID = request.POST['anuncioRemoto']
        if anuncioRemotoID == "0" :
            anuncioRemoto = None
        else:
            anuncioRemoto = Anuncio.objects.get(id=anuncioRemotoID)
        #anuncioTardio
        anuncioTardioID = request.POST['anuncioTardio']
        if anuncioTardioID == "0" :
            anuncioTardio = None
        else:
            anuncioTardio = Anuncio.objects.get(id=anuncioTardioID)
        modo = request.POST['modo']
        valorFixoCID = request.POST['valorFixoCID']
        gravarChamadas = request.POST['gravarChamadas']

        if 'igConfigCF' in request.POST:
            igConfigCF = request.POST['igConfigCF']
        else:
            igConfigCF = False

        if 'igAgentOcupado' in request.POST:
            igAgentOcupado = request.POST['igAgentOcupado']
        else:
            igAgentOcupado = False

        if 'atendeChamada' in request.POST:
            atendeChamada = request.POST['atendeChamada']
        else:
            atendeChamada = False

        if 'confirm_chamada' in request.POST:
            confirmaChamada = request.POST['confirm_chamada']
        else:
            confirmaChamada = False

        if 'dest_anuncios' in request.POST:
            dest_anuncios = request.POST['dest_anuncios']

        if 'dest_gravacoes' in request.POST:
            dest_gravacoes = request.POST['dest_gravacoes']

        if 'dest_numeros' in request.POST:
            dest_numeros = request.POST['dest_numeros']

        if 'dest_uras' in request.POST:
            dest_uras = request.POST['dest_uras']

        if 'dest_filas' in request.POST:
            dest_filas = request.POST['dest_filas']

        if 'dest_chamadasGrupo' in request.POST:
            dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

        if 'dest_condicoes' in request.POST:
            dest_condicoes = request.POST['dest_condicoes']

        if 'dest_troncos' in request.POST:
                dest_troncos = request.POST['dest_troncos']

        destinoId = 0
        if dest_anuncios != '0':
            destinoId = dest_anuncios
        if dest_gravacoes != '0':
            destinoId = dest_gravacoes
        if dest_numeros != '0':
            destinoId = dest_numeros
        if dest_uras != '0':
            destinoId = dest_uras
        if dest_filas != '0':
            destinoId = dest_filas
        if dest_chamadasGrupo != '0':
            destinoId = dest_chamadasGrupo
        if dest_condicoes != '0':
            destinoId = dest_condicoes
        if dest_troncos != '0':
            destinoId = dest_troncos

        tipoDestino = request.POST['tipo_des']

        if destinoId != 0:
            chamadasgrupo.destinoTipo = tipoDestino
            chamadasgrupo.destino = destinoId

        chamadasgrupo.descricao =descricao
        chamadasgrupo.estrategia = estrategia
        chamadasgrupo.tempoChamada = tempoChamada
        chamadasgrupo.anuncioCG = anuncioCG
        chamadasgrupo.musicaEspera = musicaEspera
        chamadasgrupo.prefixCID = prefixCID
        chamadasgrupo.infoAlerta = infoAlerta
        chamadasgrupo.anuncioRemoto = anuncioRemoto
        chamadasgrupo.anuncioTardio = anuncioTardio
        chamadasgrupo.modo = modo
        chamadasgrupo.valorFixoCID = valorFixoCID
        chamadasgrupo.gravarChamadas = gravarChamadas
        chamadasgrupo.igConfigCF = igConfigCF
        chamadasgrupo.igAgentOcupado = igAgentOcupado
        chamadasgrupo.atendeChamada = atendeChamada

        chamadasgrupo.confirmaChamada = confirmaChamada

        chamadasgrupo.save()

        listai = ListaExtensao.objects.filter(chamada=id)
        for item in listai:
            item.delete()

        lista_area = request.POST['lista_ext']
        cont = 1
        lista = lista_area.splitlines()
        for linha in lista:
            lin = linha.strip(" ")
            if lin != "":
                lista = ListaExtensao(numero=lin, ordem=cont, chamada=chamadasgrupo)
                lista.save()
                cont = cont +1

        texto = request.user.username + " editou a chamada em grupo: " +descricao
        log = Log(log= texto)
        log.save()

        return redirect('/chamadasgrupo/')
    else:
        anuncios = Anuncio.objects.all()
        musicas = Musica.objects.all()
        if chamadasgrupo.anuncioCG :
            anuncioCG = chamadasgrupo.anuncioCG
        else:
            anuncioCG = None
        if chamadasgrupo.anuncioRemoto :
            anuncioRemoto = chamadasgrupo.anuncioRemoto
        else:
            anuncioRemoto = None
        if chamadasgrupo.anuncioTardio :
            anuncioTardio = chamadasgrupo.anuncioTardio
        else:
            anuncioTardio = None

        if chamadasgrupo.musicaEspera :
            musicaEspera = chamadasgrupo.musicaEspera
        else:
            musicaEspera = None
        data['anuncios'] = anuncios
        data['musicas'] = musicas
        data['anuncioCG'] = anuncioCG
        data['anuncioRemoto'] = anuncioRemoto
        data['anuncioTardio'] = anuncioTardio
        data['musicaEspera'] = musicaEspera

        dest_anuncios = Anuncio.objects.all()
        dest_gravacoes = Gravacao.objects.all()
        dest_numeros = NumeroEntrada.objects.all()
        dest_uras = URA.objects.all()
        dest_filas = Fila.objects.all()
        dest_chamadasGrupo = ChamadaEmGrupo.objects.all()
        dest_condicoes = CondicaoTempo.objects.all()
        dest_troncos = Tronco.objects.all()
        data['dest_anuncios'] = dest_anuncios
        data['dest_gravacoes'] = dest_gravacoes
        data['dest_numeros'] = dest_numeros
        data['dest_uras'] = dest_uras
        data['dest_filas'] = dest_filas
        data['dest_chamadasGrupo'] = dest_chamadasGrupo
        data['dest_condicoes'] = dest_condicoes
        data['dest_troncos'] = dest_troncos

        listai = ListaExtensao.objects.filter(chamada=id)
        lista = ""
        for num in listai:
            lista = lista+num.numero.strip() +"\n"
        data['lista'] = lista

        return render(request, 'editaChamadaEmGrupo.html', data)
예제 #28
0
def condicoestempo_novo(request):
    nome = request.POST['nome']

    if 'dest_anuncios' in request.POST:
        dest_anuncios = request.POST['dest_anuncios']

    if 'dest_gravacoes' in request.POST:
        dest_gravacoes = request.POST['dest_gravacoes']

    if 'dest_numeros' in request.POST:
        dest_numeros = request.POST['dest_numeros']

    if 'dest_uras' in request.POST:
        dest_uras = request.POST['dest_uras']

    if 'dest_filas' in request.POST:
        dest_filas = request.POST['dest_filas']

    if 'dest_chamadasGrupo' in request.POST:
        dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

    if 'dest_condicoes' in request.POST:
        dest_condicoes = request.POST['dest_condicoes']

    if 'dest_troncos' in request.POST:
        dest_troncos = request.POST['dest_troncos']

    destinoId = 0
    if dest_anuncios != '0':
        destinoId = dest_anuncios
    if dest_gravacoes != '0':
        destinoId = dest_gravacoes
    if dest_numeros != '0':
        destinoId = dest_numeros
    if dest_uras != '0':
        destinoId = dest_uras
    if dest_filas != '0':
        destinoId = dest_filas
    if dest_chamadasGrupo != '0':
        destinoId = dest_chamadasGrupo
    if dest_condicoes != '0':
        destinoId = dest_condicoes
    if dest_troncos != '0':
        destinoId = dest_troncos

    tipoDestino = request.POST['tipo_des']

    if 'ndest_anuncios' in request.POST:
        ndest_anuncios = request.POST['ndest_anuncios']

    if 'ndest_gravacoes' in request.POST:
        ndest_gravacoes = request.POST['ndest_gravacoes']

    if 'ndest_numeros' in request.POST:
        ndest_numeros = request.POST['ndest_numeros']

    if 'ndest_uras' in request.POST:
        ndest_uras = request.POST['ndest_uras']

    if 'ndest_filas' in request.POST:
        ndest_filas = request.POST['ndest_filas']

    if 'ndest_chamadasGrupo' in request.POST:
        ndest_chamadasGrupo = request.POST['ndest_chamadasGrupo']

    if 'ndest_condicoes' in request.POST:
        ndest_condicoes = request.POST['ndest_condicoes']

    if 'ndest_troncos' in request.POST:
        ndest_troncos = request.POST['ndest_troncos']

    ndestinoId = 0
    if ndest_anuncios != '0':
        ndestinoId = ndest_anuncios
    if ndest_gravacoes != '0':
        ndestinoId = ndest_gravacoes
    if ndest_numeros != '0':
        ndestinoId = ndest_numeros
    if ndest_uras != '0':
        ndestinoId = ndest_uras
    if ndest_filas != '0':
        ndestinoId = ndest_filas
    if ndest_chamadasGrupo != '0':
        ndestinoId = ndest_chamadasGrupo
    if ndest_condicoes != '0':
        ndestinoId = ndest_condicoes
    if ndest_troncos != '0':
        ndestinoId = ndest_troncos

    ntipoDestino = request.POST['ntipo_des']

    condicoestempo = CondicaoTempo(nome=nome)
    condicoestempo.save()

    if destinoId != 0:
        condicoestempo.destinoCoincideTipo = tipoDestino
        condicoestempo.destinoCoincide = destinoId
        condicoestempo.save()

    if destinoId != 0:
        condicoestempo.destinoNaoCoincideTipo = ntipoDestino
        condicoestempo.destinoNaoCoincide = ndestinoId
        condicoestempo.save()

    tipo = '7'
    horaInicio = []
    horaFim = []
    diaSemanaInicio = []
    diaSemanaFim = []
    diaMesInicio = []
    diaMesFim = []
    mesIncio = []
    mesFim = []

    contador = int(request.POST['count'])
    for i in range(contador):
        horaInicio.append(request.POST['hora_inicio' + str(i)])
        horaFim.append(request.POST['hora_termino' + str(i)])
        diaSemanaInicio.append(request.POST['dia_semana_ini' + str(i)])
        diaSemanaFim.append(request.POST['dia_semana_ter' + str(i)])
        diaMesInicio.append(request.POST['dia_mes_inicio' + str(i)])
        diaMesFim.append(request.POST['dia_mes_termina' + str(i)])
        mesIncio.append(request.POST['mes_inicio' + str(i)])
        mesFim.append(request.POST['mes_termino' + str(i)])
    cont = 0
    while cont < contador:
        grupotempo = GrupoTempo(horaInicio=horaInicio[cont],
                                horaFim=horaFim[cont],
                                diaSemanaInicio=diaSemanaInicio[cont],
                                tipo=tipo,
                                diaSemanaFim=diaSemanaFim[cont],
                                diaMesInicio=diaMesInicio[cont],
                                diaMesFim=diaMesFim[cont],
                                mesIncio=mesIncio[cont],
                                mesFim=mesFim[cont],
                                condTempo=condicoestempo)
        grupotempo.save()
        cont = cont + 1

    texto = request.user.username + " adicionou a condição de tempo: " + nome
    log = Log(log=texto)
    log.save()

    return redirect('/condicoestempo/')
예제 #29
0
def condicoestempo_edita(request, id):
    data = {}
    condicoestempo = CondicaoTempo.objects.get(id=id)
    data['condicoestempo'] = condicoestempo
    grupotempo = GrupoTempo.objects.filter(condTempo=condicoestempo)
    data['grupostempo'] = grupotempo
    count = len(grupotempo)
    data['count'] = count

    if request.method == 'POST':

        nome = request.POST['nome']
        condicoestempo.nome = nome
        condicoestempo.save()

        if 'dest_anuncios' in request.POST:
            dest_anuncios = request.POST['dest_anuncios']

        if 'dest_gravacoes' in request.POST:
            dest_gravacoes = request.POST['dest_gravacoes']

        if 'dest_numeros' in request.POST:
            dest_numeros = request.POST['dest_numeros']

        if 'dest_uras' in request.POST:
            dest_uras = request.POST['dest_uras']

        if 'dest_filas' in request.POST:
            dest_filas = request.POST['dest_filas']

        if 'dest_chamadasGrupo' in request.POST:
            dest_chamadasGrupo = request.POST['dest_chamadasGrupo']

        if 'dest_condicoes' in request.POST:
            dest_condicoes = request.POST['dest_condicoes']

        if 'dest_troncos' in request.POST:
            dest_troncos = request.POST['dest_troncos']

        destinoId = 0
        if dest_anuncios != '0':
            destinoId = dest_anuncios
        if dest_gravacoes != '0':
            destinoId = dest_gravacoes
        if dest_numeros != '0':
            destinoId = dest_numeros
        if dest_uras != '0':
            destinoId = dest_uras
        if dest_filas != '0':
            destinoId = dest_filas
        if dest_chamadasGrupo != '0':
            destinoId = dest_chamadasGrupo
        if dest_condicoes != '0':
            destinoId = dest_condicoes
        if dest_troncos != '0':
            destinoId = dest_troncos

        tipoDestino = request.POST['tipo_des']

        if 'ndest_anuncios' in request.POST:
            ndest_anuncios = request.POST['ndest_anuncios']

        if 'ndest_gravacoes' in request.POST:
            ndest_gravacoes = request.POST['ndest_gravacoes']

        if 'ndest_numeros' in request.POST:
            ndest_numeros = request.POST['ndest_numeros']

        if 'ndest_uras' in request.POST:
            ndest_uras = request.POST['ndest_uras']

        if 'ndest_filas' in request.POST:
            ndest_filas = request.POST['ndest_filas']

        if 'ndest_chamadasGrupo' in request.POST:
            ndest_chamadasGrupo = request.POST['ndest_chamadasGrupo']

        if 'ndest_condicoes' in request.POST:
            ndest_condicoes = request.POST['ndest_condicoes']

        if 'ndest_troncos' in request.POST:
            ndest_troncos = request.POST['ndest_troncos']

        ndestinoId = 0
        if ndest_anuncios != '0':
            ndestinoId = ndest_anuncios
        if ndest_gravacoes != '0':
            ndestinoId = ndest_gravacoes
        if ndest_numeros != '0':
            ndestinoId = ndest_numeros
        if ndest_uras != '0':
            ndestinoId = ndest_uras
        if ndest_filas != '0':
            ndestinoId = ndest_filas
        if ndest_chamadasGrupo != '0':
            ndestinoId = ndest_chamadasGrupo
        if ndest_condicoes != '0':
            ndestinoId = ndest_condicoes
        if ndest_troncos != '0':
            ndestinoId = ndest_troncos

        ntipoDestino = request.POST['ntipo_des']

        if destinoId != 0:
            condicoestempo.destinoCoincideTipo = tipoDestino
            condicoestempo.destinoCoincide = destinoId
            condicoestempo.save()

        if destinoId != 0:
            condicoestempo.destinoNaoCoincideTipo = ntipoDestino
            condicoestempo.destinoNaoCoincide = ndestinoId
            condicoestempo.save()

        horaInicio = []
        horaFim = []
        diaSemanaInicio = []
        diaSemanaFim = []
        diaMesInicio = []
        diaMesFim = []
        mesIncio = []
        mesFim = []

        cont = 0
        for g in grupotempo:
            g.delete()

        contador = int(request.POST['count'])
        conta = 0
        for i in range(contador):
            hora = 'hora_inicio' + str(i)
            if hora in request.POST:
                horaInicio.append(request.POST['hora_inicio' + str(i)])
                horaFim.append(request.POST['hora_termino' + str(i)])
                diaSemanaInicio.append(request.POST['dia_semana_ini' + str(i)])
                diaSemanaFim.append(request.POST['dia_semana_ter' + str(i)])
                diaMesInicio.append(request.POST['dia_mes_inicio' + str(i)])
                diaMesFim.append(request.POST['dia_mes_termina' + str(i)])
                mesIncio.append(request.POST['mes_inicio' + str(i)])
                mesFim.append(request.POST['mes_termino' + str(i)])
                conta = conta + 1

        tipo = '7'
        while cont < conta:
            grupotempo = GrupoTempo(horaInicio=horaInicio[cont],
                                    horaFim=horaFim[cont],
                                    diaSemanaInicio=diaSemanaInicio[cont],
                                    tipo=tipo,
                                    diaSemanaFim=diaSemanaFim[cont],
                                    diaMesInicio=diaMesInicio[cont],
                                    diaMesFim=diaMesFim[cont],
                                    mesIncio=mesIncio[cont],
                                    mesFim=mesFim[cont],
                                    condTempo=condicoestempo)
            grupotempo.save()
            cont = cont + 1

        texto = request.user.username + " editou a condição de tempo: " + nome
        log = Log(log=texto)
        log.save()

        return redirect('/condicoestempo/')
    else:
        dest_anuncios = Anuncio.objects.all()
        dest_gravacoes = Gravacao.objects.all()
        dest_numeros = NumeroEntrada.objects.all()
        dest_uras = URA.objects.all()
        dest_filas = Fila.objects.all()
        dest_chamadasGrupo = ChamadaEmGrupo.objects.all()
        dest_condicoes = CondicaoTempo.objects.all()
        dest_troncos = Tronco.objects.all()
        gravacoes = Gravacao.objects.exclude(musica__isnull=False)
        data['dest_anuncios'] = dest_anuncios
        data['dest_gravacoes'] = dest_gravacoes
        data['dest_numeros'] = dest_numeros
        data['dest_uras'] = dest_uras
        data['dest_filas'] = dest_filas
        data['dest_chamadasGrupo'] = dest_chamadasGrupo
        data['dest_condicoes'] = dest_condicoes
        data['dest_troncos'] = dest_troncos
        data['gravacoes'] = gravacoes
        return render(request, 'editaCondicaoTempo.html', data)
예제 #30
0
def troncosip_novo(request):
    nome = request.POST['nome']
    callerIDSaida = request.POST['callerids']
    opcoesCID = request.POST['op_cid']
    maxCanais = request.POST['max_canais']
    if 'op_asterisk' in request.POST:
        opcoesDiskAsterisk = request.POST['op_asterisk']
    else:
        opcoesDiskAsterisk = None
    if 'continua_ocup' in request.POST:
        contSeOcup = request.POST['continua_ocup']
    else:
        contSeOcup = False

    if 'desab_tronco' in request.POST:
        desabTronco = request.POST['desab_tronco']
    else:
        desabTronco = False

    prefixChamSaida = request.POST['prefixo_saida']

    nomeTronco = request.POST['nome_tronco']
    detalhesPEER = request.POST['detalhes_PEER']
    contextoUsuario = request.POST['contexto']
    detalhesUsuario = request.POST['detalhes_usuarios']
    stringRegistro = request.POST['string_reg']

    tipo = '8'
    troncoSIP = TroncoSIP(tipo=tipo,
                          nome=nome,
                          opcoesCID=opcoesCID,
                          contSeOcup=contSeOcup,
                          desabTronco=desabTronco,
                          prefixChamSaida=prefixChamSaida)
    troncoSIP.save()

    troncoSIP.callerIDSaida = callerIDSaida
    troncoSIP.maxCanais = maxCanais
    if opcoesDiskAsterisk:
        troncoSIP.opcoesDiskAsterisk = opcoesDiskAsterisk
    troncoSIP.nomeTronco = nomeTronco
    troncoSIP.detalhesPEER = detalhesPEER
    troncoSIP.contextoUsuario = contextoUsuario
    troncoSIP.detalhesUsuario = detalhesUsuario
    troncoSIP.stringRegistro = stringRegistro

    troncoSIP.save()

    precedente = []
    prefixo = []
    padraoEquiv = []

    contador = int(request.POST['count'])
    for i in range(contador):
        precedente.append(request.POST['precedente' + str(i)])
        prefixo.append(request.POST['prefix' + str(i)])
        padraoEquiv.append(request.POST['match' + str(i)])

    cont = 0
    while cont < contador:
        regramanip = RegraManipulaNum(precedente=precedente[cont],
                                      prefixo=prefixo[cont],
                                      padrao=padraoEquiv[cont],
                                      tronco=troncoSIP)
        regramanip.save()
        cont = cont + 1

    texto = request.user.username + " adicionou o tronco SIP: " + nome
    log = Log(log=texto)
    log.save()
    return redirect('/troncos/')