def update_atendimento(request, pk): template = 'update_atendimento.html' model = Atendimento.object.get(pk=pk) context = {} if request.method == "POST": form = AtendimentoViewForm(request.POST, instance=model) if form.is_valid(): model.loja = form.cleaned_data['loja'] model.solicitante = form.cleaned_data['solicitante'] model.solucao = form.cleaned_data['solucao'] model.status = form.cleaned_data['status'] if model.status == 'r': model.user_finaliza = request.user model.setor = form.cleaned_data['setor'] model.problema = form.cleaned_data['problema'] model.save() return redirect('/atendimento/') else: form = AtendimentoViewForm(instance=model) context = { 'staff': is_staff(request.user), 'form': form, 'model': model, } return render(request, template, context)
def lista_incidente(request): template = 'lista_incidente.html' query = HistoricoIncidente.objects.all() staff = is_staff(request.user) context = {'chamado': query, 'staff': staff} return render(request, template, context)
def cadastro(request): template = 'cad_msg.html' form = MsgForm(request.POST or None) model = Msg() user = request.user if request.method == "POST": if form.is_valid(): model.user = user model.dest = form.cleaned_data['dest'] model.assunto = form.cleaned_data['assunto'] model.mensagem = form.cleaned_data['mensagem'] model.grupo = form.cleaned_data['grupo'] model.geral = form.cleaned_data['geral'] model.importancia = form.cleaned_data['importancia'] model.save() messages.success(request, 'Mensagem enviada!') else: messages.error( request, 'Erro ao enviar mensagem! Valide os campos preenchidos.') else: form = MsgForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def msg(request, id, grupo): # SINTAXE REVERSA PARA FUNCIONAR NA HOMEPAGE.. NAO FAÇO IDEIA PQ PRECISA TER OS DADOS AQUI, RS def pega_dados_msg(): user = request.user id_user = user.id #pega dados do usuario para direcionar em mensagens grupo_msg = str(Group_Msg.object.get(user_id=id_user)) id_msg = user.id return id_msg, grupo_msg pega_dados = pega_dados_msg() id_msg = pega_dados[0] grupo_msg = pega_dados[1] # QUERYSET PARA PEGAR MENSAGEM DE CADA PRODUTO msg = Msg.object.filter(Q(geral=True) & Q(grupo=grupo) | Q(dest_id=id)).order_by('-create_at') context = { 'staff': is_staff(request.user), 'msg': msg, 'grupo_msg': grupo_msg, 'id_msg': id_msg, } template = 'msg.html' return render(request, template, context)
def get(self, request, idorigem): titulo = 'Lista de estoque completo' dtgeracao = datetime.now() origem = Lojas.object.get(id=idorigem) estoque = Equipamento.object.filter(loja=idorigem) loja = Lojas.object.get(id=idorigem) list = [] anterior = '' for i in estoque: if i.name != anterior: list.append(i.name) anterior = i.name valores = Equipamento.object.filter(loja=idorigem, name__in= list).\ values('name').annotate(Count('name')) if not estoque.exists(): return redirect('core:erro_relatorio') params = { 'staff': is_staff(request.user), 'estoque': estoque, 'dtgeracao': dtgeracao, 'loja': loja, 'origem': origem, 'titulo': titulo, 'valores': valores, } return Render.render('pdf_filial.html', params)
def list_circuito_dados(request): template = 'list_circuito_dados.html' query = CircuitoDados.objects.all() user = request.user staff = is_staff(user) context = {'staff': staff, 'chamado': query} return render(request, template, context)
def ferias(request): template = 'ferias.html' query = Ferias.objects.all() user = request.user staff = is_staff(user) context = {'staff': staff, "chamado": query} return render(request, template, context)
def camara_fria(request): template = 'camara_fria.html' query = IpFixo.objects.all() user = request.user staff = is_staff(user) context = {'staff': staff, "chamado": query} return render(request, template, context)
def list_central_telefonica(request): template = 'list_central_telefonica.html' query = CentralTelefonica.objects.all() staff = is_staff(request.user) context = { 'chamado': query, 'staff': staff, } return render(request, template, context)
def lista_backup(request): template='lista_estoque_backup.html' estoque = Equipamento.object.filter(backup=True,loja__in=request.user.profile.filiais.all()) user = request.user staff = is_staff(user) context = { 'estoque':estoque, 'staff': staff, } return render(request,template,context)
def listagem_compras(request): compras = Compras.objects.all() user = request.user staff = is_staff(user) context = { 'compras': compras, 'staff': staff, } template = 'lista_compras.html' return render(request,template,context)
def list_transf(request): template = 'lista_transf.html' grupo_usuario = Profile.objects.get(user=request.user) if grupo_usuario.grupo == "BH": transf = Transferencia.object.filter( Q(destino_id__gt=8)).order_by('-create_at') elif grupo_usuario.grupo == "MONTES CLAROS": transf = Transferencia.object.filter( Q(destino_id__lt=9)).order_by('-create_at') else: transf = Transferencia.object.all().order_by('-create_at') user = request.user staff = is_staff(user) context = { 'staff': is_staff(request.user), 'transf': transf, 'staff': staff, } return render(request, template, context)
def get(self, request, name, idorigem): titulo = 'Estoque por modelo e filial' dtgeracao = datetime.now() origem = Lojas.object.get(id=idorigem) estoque = Equipamento.object.filter(name=name, loja=idorigem) params = { 'staff': is_staff(request.user), 'titulo': titulo, 'estoque': estoque, 'dtgeracao': dtgeracao, 'origem': origem, } return Render.render('pdf_modelo_filial.html', params)
def estoque_por_modelo(request): template = 'view_modelo.html' if request.method == 'POST': form = ViewModeloForm(request.POST or None) if form.is_valid(): idorigem = request.POST.get('filial') name = request.POST.get('name') return redirect('estoque:pdfmodelofilial',name=name,idorigem=idorigem) else: messages.error(request, "Formulário invalido!") form = ViewModeloForm() else: form = ViewModeloForm() context = { 'staff': is_staff(request.user), 'form': form } return render(request,template, context)
def estoque_por_filial(request): template = 'view_filial.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = ViewFilialForm(request.POST or None) if form.is_valid(): idorigem = request.POST.get('filial') return redirect('estoque:pdffilial',idorigem=idorigem) else: messages.error(request, "Formulário invalido!") form = ViewFilialForm() else: form = ViewFilialForm() context = { 'staff': is_staff(request.user), 'form': form } return render(request,template, context)
def recebimento_data(request): template = 'viewpordata_recebimento.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioRecebDataForm(request.POST) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) return redirect('envios:pdfdata_receb', dtinicial=dtinicial, dtfinal=dtfinal) else: messages.error(request, "Formulário invalido!") form = RelatorioDataForm() else: form = RelatorioDataForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def atendimento_completo_todas(request): template = 'viewcompleto_atendimento_todas.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioCompletoTodasForm(request.POST) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) return redirect('atendimento:pdfcompletoatendimentotodas', dtinicial=dtinicial, dtfinal=dtfinal) else: messages.error(request, "Formulário invalido!") form = RelatorioCompletoTodasForm() else: form = RelatorioCompletoTodasForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def compras_vencimento(request): template = 'viewdatavencimento_compras.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioVencimentoForm(request.POST) if form.is_valid(): dtfinal = str(form.cleaned_data['final']) return redirect('compras:pdfcompletovencimento',dtfinal=dtfinal) else: messages.error(request, "Formulário invalido!") form = RelatorioVencimentoForm() else: form = RelatorioVencimentoForm() context = { 'staff': is_staff(request.user), 'form': form } return render(request,template, context)
def lista_estoque(request): template='lista_estoque.html' #estoque = Equipamento.object.all() # grupo_usuario = Profile.objects.get(user = request.user) # if grupo_usuario.grupo == "BH": # estoque = Equipamento.object.filter(Q(loja_id__in = lista_id_bh)).order_by('-create_at') # elif grupo_usuario.grupo == "MONTES CLAROS": # estoque = Equipamento.object.filter(Q(loja_id__in = lista_id_moc)).order_by('-create_at') # else: # estoque = Equipamento.object.all().order_by('-create_at') estoque = Equipamento.object.filter(loja__in = request.user.profile.filiais.all()).order_by('-create_at') user = request.user staff = is_staff(user) context = { 'estoque':estoque, 'staff': staff, } return render(request,template,context)
def atendimento_por_responsavel(request): template = 'viewportecnico_atendimento.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioTecnicoForm(request.POST) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) usuario = request.POST.get('usuario') return redirect('atendimento:pdftecnico', dtinicial=dtinicial, dtfinal=dtfinal, usuario=usuario) else: messages.error(request, "Formulário invalido!") form = RelatorioTecnicoForm() else: form = RelatorioTecnicoForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def atendimento_setor(request): template = 'viewporsetor_atendimento.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioSetorForm(request.POST) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) idorigem = request.POST.get('setor') return redirect('atendimento:pdfsetoratendimento', dtinicial=dtinicial, dtfinal=dtfinal, idorigem=idorigem) else: messages.error(request, "Formulário invalido!") form = RelatorioSetorForm() else: form = RelatorioSetorForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def compras_completo(request): template = 'viewcompleto_compras.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioCompletoForm(request.POST) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) idorigem = request.POST.get('filial') return redirect('compras:pdfcompletoacompras',dtinicial=dtinicial, dtfinal=dtfinal, idorigem=idorigem) else: messages.error(request, "Formulário invalido!") form = RelatorioCompletoForm() else: form = RelatorioCompletoForm() context = { 'staff': is_staff(request.user), 'form': form } return render(request,template, context)
def envio_por_modelo(request): template = 'viewpormodelo.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioDataModeloForm(request.POST or None) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) modelo = request.POST.get('modelo') return redirect('envios:pdfdatamodelo', dtinicial=dtinicial, dtfinal=dtfinal, modelo=modelo) else: messages.error(request, "Formulário invalido!") form = RelatorioDataModeloForm() else: form = RelatorioDataModeloForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def get(self, request, dtinicial, dtfinal, idorigem): dtgeracao = datetime.now() origem = Lojas.object.get(id=idorigem) chamado = Transferencia.object.filter(create_at__lte=dtfinal, create_at__gte=dtinicial, destino=idorigem) loja = Lojas.object.get(id=idorigem) if not chamado.exists(): return redirect('core:erro_relatorio') params = { 'staff': is_staff(request.user), 'chamado': chamado, 'dtgeracao': dtgeracao, 'dtinicial': dtinicial, 'dtfinal': dtfinal, 'loja': loja, 'origem': origem, } return Render.render('pdf_data_filial_transf.html', params)
def lista_chamado(request): template = 'lista_chamado.html' # grupo_usuario = Profile.objects.get(user = request.user) # if grupo_usuario.grupo == "BH": # chamado = Chamado.object.filter(Q(loja_id__in = lista_id_bh)).order_by('-create_at') # elif grupo_usuario.grupo == "MONTES CLAROS": # chamado = Chamado.object.filter(Q(loja_id__in = lista_id_moc)).order_by('-create_at') # else: # chamado = Chamado.object.all().order_by('-create_at') chamado = Chamado.object.filter( loja__in=request.user.profile.filiais.all()).order_by('-create_at') user = request.user staff = is_staff(user) context = { 'chamado': chamado, 'staff': staff, } return render(request, template, context)
def envio_por_data_filial(request): template = 'viewpordatafilial.html' dtinicial = dtfinal = 0 if request.method == 'POST': form = RelatorioDataFilialForm(request.POST or None) if form.is_valid(): dtinicial = str(form.cleaned_data['inicial']) dtfinal = str(form.cleaned_data['final']) idorigem = request.POST.get('filial_origem') iddestino = request.POST.get('filial_destino') return redirect('envios:pdfdatafilial', dtinicial=dtinicial, dtfinal=dtfinal, iddestino=iddestino, idorigem=idorigem) else: messages.error(request, "Formulário invalido!") form = RelatorioDataFilialForm() else: form = RelatorioDataFilialForm() context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def cadastro(request): template = 'cad_transf.html' form = TransferenciaForm(request.POST or None) if request.method == 'POST': id_equipamento = request.POST.get('equipamento') cod_filial = request.POST.get('destino') if form.is_valid(): # TRANSFERE FILIAL DO EQUIPAMENTO equip = Equipamento.object.get(id=id_equipamento) filial = Lojas.object.get(id=cod_filial) equip.loja = filial equip.save() form.user = request.user form.save() messages.success(request, 'Transferência cadastrada com sucesso!') context = {'messages': messages} form = TransferenciaForm() else: messages.error(request, 'Formulário inválido!') context = {'messages': messages} context = {'staff': is_staff(request.user), 'form': form} return render(request, template, context)
def lista_chamado_pendente(request): template = 'lista_chamado_pendente.html' grupo_usuario = Profile.objects.get(user=request.user) chamado = Chamado.object.filter( loja__in=request.user.profile.filiais.all(), status=Chamado.STATUS_CHAMADO_PENDENTE) # if grupo_usuario.grupo == "BH": # chamado = Chamado.object.filter(Q(loja_id__in = lista_id_bh), status = 'p') # elif grupo_usuario.grupo == "MONTES CLAROS": # chamado = Chamado.object.filter(Q(loja_id__in = lista_id_moc), status = 'p') # else: # chamado = Chamado.object.filter(status = 'p') user = request.user staff = is_staff(user) context = { 'chamado': chamado, 'staff': staff, } return render(request, template, context)
def msg_indi(request, id): user = request.user msg = Msg.object.get(id=id) # SINTAXE REVERSA PARA FUNCIONAR NA HOMEPAGE.. NAO FAÇO IDEIA PQ PRECISA TER OS DADOS AQUI, RS def pega_dados_msg(): user = request.user id_user = user.id #pega dados do usuario para direcionar em mensagens grupo_msg = str(Group_Msg.object.get(user_id=id_user)) id_msg = user.id return id_msg, grupo_msg pega_dados = pega_dados_msg() id_msg = pega_dados[0] grupo_msg = pega_dados[1] # SALVA SE A MENSAGEM FOI LIDA msg.lida = True msg.save() # verifica se é o criador da mensagem def if_owner(): if user.id == msg.user_id: return True else: return False context = { 'staff': is_staff(request.user), 'msg': msg, 'owner': if_owner(), 'grupo_msg': grupo_msg, 'id_msg': id_msg, } template = 'msg_ind.html' return render(request, template, context)
def homepage(request): template = 'index.html' user = request.user id_user = user.id # adiciona atendimento form_atendi = AtendimentoForm() add_atendimento(request, user) #pega dados do usuario para direcionar em mensagens grupo_msg = str(Group_Msg.object.get(user_id=user.id)) id_msg = user.id #pega localidade do operador logado query_localidade = Profile.objects.get(user=request.user) if query_localidade.grupo == 'BH': see_bh = 1 elif query_localidade.grupo == 'MONTES CLAROS': see_bh = 2 else: see_bh = 0 # mensagens não lidas msg_nao_lida = Msg.object.filter(lida=False, dest=user).count() # envios pendentes envios_pendentes = EnvioBh.object.filter( recebido=False, filial_origem__in=request.user.profile.filiais.all()).count() #lista filiais lista_filial = [] query_filial = Lojas.object.all() for i in query_filial: lista_filial.append(i.id) # lista filiais bh lojas_bh = [] query_bh = Lojas.object.exclude(cidade='MONTES CLAROS') for i in query_bh: lojas_bh.append(i.id) data_atendimento_filial = contagem_atendimento_filial(request) filiais_data_atendimento_filial = list( Lojas.object.filter(polo='MONTES CLAROS').order_by('id').values_list( 'name', flat=True)) data_atendimento_bh = contagem_atendimento_bh(request) filiais_data_atendimento_bh = list( Lojas.object.filter(polo='BH').order_by('id').values_list('name', flat=True)) limit_contagem_atendimentos_moc = data_atendimento_filial[0] contagem_chamados_anual_moc = contagem_chamados_anual(request) data = contagem_chamados_anual_bh(request) #data_filial = contagem_chamados_filial() chamados = Chamado.object.filter( status=Chamado.STATUS_CHAMADO_PENDENTE, loja__name__in=filiais_data_atendimento_filial).count() chamados_bh = Chamado.object.filter( status=Chamado.STATUS_CHAMADO_PENDENTE, loja__name__in=filiais_data_atendimento_bh).count() # nao usa #mes_envios = contagem_envios_mes() atendimento_pendente = Atendimento.object.filter( status='p', loja__name__in=filiais_data_atendimento_filial).count() atendimento_pendente_bh = Atendimento.object.filter( status='p', loja__name__in=filiais_data_atendimento_bh).count() custo_chamado = custo_chamado_mensal(request) custo_chamado_bh = custo_chamado_mensal_bh(request) custo_chamado_anual_moc = custo_chamados_anual_moc(request) custo_chamado_anual_bh = custo_chamados_anual_bh(request) seus_atendimentos_pendentes = Atendimento.object.filter( responsavel=request.user, status='p').count() context = { 'lojas_bh': lojas_bh, 'see_bh': see_bh, 'staff': is_staff(user), 'id': id_user, #'data_filial': data_filial, 'contagem_chamados_anual_moc': contagem_chamados_anual_moc, 'data': data, 'user': user, 'chamados': chamados, 'chamados_bh': chamados_bh, 'custo_chamado': custo_chamado, 'custo_chamado_bh': custo_chamado_bh, 'form_atendi': form_atendi, 'grupo_msg': grupo_msg, 'id_msg': id_msg, 'data_atendimento_filial': data_atendimento_filial, 'filiais_data_atendimento_filial': filiais_data_atendimento_filial, 'atendimento_pendente': atendimento_pendente, 'atendimento_pendente_bh': atendimento_pendente_bh, 'msg_nao_lida': msg_nao_lida, 'lista_filial': lista_filial, 'limit_contagem_atendimentos_moc': limit_contagem_atendimentos_moc, 'data_atendimento_bh': data_atendimento_bh, 'filiais_data_atendimento_bh': filiais_data_atendimento_bh, 'custo_chamados_anual_moc': custo_chamado_anual_moc, 'custo_chamados_anual_bh': custo_chamado_anual_bh, 'envios_pendentes': envios_pendentes, 'seus_atendimentos_pendentes': seus_atendimentos_pendentes } return render(request, template, context)