def solicitar_loja(request): shopping = request.COOKIES.get('shp_id', None) if not shopping: raise Http404 nome = request.POST.get('nome', None) email = request.POST.get('email', None) loja = request.POST.get('loja', None) loja_solicitada = Loja.objects.filter(shopping_id=shopping,nome=loja)[:1] if loja_solicitada: loja_solicitada = loja_solicitada[0] loja_dict = loja_solicitada.to_dict() mkt_lojistas = Perfil.objects.filter(shopping_id=shopping) mkts = mkt_lojistas.filter(tipo=Perfil.MARKETING) mkt_mails = [m.user.email for m in mkts] lojistas = mkt_lojistas.filter(tipo=Perfil.LOJISTA) lojistas_mails = [l.user.email for l in lojistas] else: raise Http404 contexto = {'nome': nome, 'email': email, 'loja': loja_dict, 'assunto': u'LLV - Solicitação de loja %s' % loja_dict['nome'], 'sucesso': False} solicitacao = Solicitacao.objects.create(nome=nome, email=email, loja=loja_solicitada) envia = solicitacao.dispara_solicitacao(contexto, mkt_mails, lojistas_mails) if envia: contexto['sucesso'] = True return jsonResponse(contexto)
def descurtir(request): id_item = request.POST.get('id_item') total = int(request.POST.get('total_atual')) if not id_item and not request.is_ajax(): raise Http404 ultimo = Log.objects.filter(acao=Log.CURTIDA,oferta_id=id_item).latest('id') if ultimo: ultimo.delete() total = total - 1 return jsonResponse({'total': total})
def notifica(request, acao): nome = request.POST.get('nome', None) email = request.POST.get('email', None) loja = request.POST.get('loja', None) loja_solicitada = Loja.objects.filter(shopping_id=1,nome=loja)[:1] if loja_solicitada: loja_solicitada = loja_solicitada[0].to_dict() else: raise Http404 contexto = {'nome': nome, 'email': email, 'loja': loja_solicitada, 'assunto': u'LLV - Solicitação de loja: %s' % loja_solicitada['nome'] , 'sucesso': False} try: TemplatedEmail(settings.FALE_CONOSCO, contexto['assunto'], 'email/solicitacao.html', contexto, send_now=True) contexto['sucesso'] = True except: raise return jsonResponse(contexto)
descricao = item.descricao[:40] draw = draw.text((130,35), descricao, font=fonte_chamada, fill=(128, 128, 128)) draw = ImageDraw.Draw(base) try: base.save(destino) except Exception, e: raise e mensagem = u'Acabei de curtir uma oferta do Lápis Vermelho' mensagem += '\r\n\r\n\r\n\r\n %s' % item.url mensagem += '\r\n\r\n\r\n\r\n #LapisVermelho' return jsonResponse({'total': item.total_curtido, 'imagem': destino_url, 'mensagem': mensagem}) @csrf_exempt def descurtir(request): id_item = request.POST.get('id_item') total = int(request.POST.get('total_atual')) if not id_item and not request.is_ajax(): raise Http404 ultimo = Log.objects.filter(acao=Log.CURTIDA,oferta_id=id_item).latest('id') if ultimo: ultimo.delete() total = total - 1 return jsonResponse({'total': total})
@staff_member_required def command(request, comando): '''Executa o comando via manager''' comandos_disponiveis = ['atualiza_lojas', 'atualiza_ranking', 'expira_itens_vencidos'] def thread_handler(command): # inicio = datetime.now().strftime('%H:%M:%S %d/%m') saida = StringIO() e = False try: call_command(command, stdout=saida) except Exception, e: # trace = traceback.format_exc() print e # saida.seek(0) # s = saida.read() if comando in comandos_disponiveis: # p = Process(target=call_command, args=(comando, stdout=saida)) thread.start_new_thread(thread_handler, (comando, )) # p.start() # p.map(call_command, [comando]) context = {'resultado': 'Processo disparado e pode levar alguns minutos para ser concluído'} else: context = {'resultado': 'Comando indisponível'} return jsonResponse(context)