def get(self, objname): id = self.request.get('id') sid = self.get_sid_from_cookie() tab = self.request.get('tab') flash_message = None if sid: flash_message = memcache.get(str(sid), namespace="flash") if flash_message: memcache.delete(str(sid), namespace="flash") # há que forçar o encoding do & também raw_referer = "/admin/"+objname+"/" if os.environ.has_key('HTTP_REFERER'): raw_referer = re.sub("&","%38",urllib.quote_plus(os.environ['HTTP_REFERER'])) values = {} omit_properties = [] # propriedades do objecto que não precisam de ser impressas e prontas para ser editadas ############################# ######## EDIT EPOCA ######### ############################# if objname == "epoca": try: obj = Epoca.get_by_id(int(id)) except: obj = Epoca.all().filter("epo_nome = ", id).get() #### DEPENDENTE 1: COMPETICAO #### objname1 = "competicao" try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 10 # para editar batch de competições objs = [] for competicao in obj.epo_competicoes: objs.append(competicao) self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Epoca.fields, 'tab':tab, # editar this: editar época 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }), # listar dependente 1: competições desta época 'list1': List().gera_lista({ "objs":obj.epo_competicoes, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novos dependentes 1: novas múltiplas competições anexadas a esta época 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, 'this_id':'epo_id', 'obj':obj, "objname":objname1, 'howmany':10 }), # editar dependentes 1: editar múltiplas competições anexadas a esta época 'medit1':self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs, "objname":objname1, 'howmany':len(objs) }) }) ################################## ######## EDIT COMPETICAO ######### ################################## elif objname == "competicao": try: obj = Competicao.get_by_id(int(id)) except: obj = Competicao.all().filter("cmp_nome = ", id).get() #### DEPENDENTE 1: JORNADAS #### objname1 = "jornada" objs1 = [] for o in obj.cmp_jornadas: objs1.append(o) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 30 #### DEPENDENTE 2: CLUBE JOGA COMPETICAO #### objname2 = "clube_joga_competicao" objs2 = [] ob2 = ClubeJogaCompeticao.all().filter("cjc_competicao = ", obj) for o in ob2: objs2.append(o) try: page_index2 = int(self.request.get("pg_"+objname2,"1")) except ValueError: page_index2 = 1 limit2 = 30 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Competicao.fields, 'tab':tab, # editar this: editar competição 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'epocas':listas.get_lista_epocas() }), # listar dependente 1: jornadas desta competição 'list1': List().gera_lista({ "objs":obj.cmp_jornadas, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novas jornadas anexada a esta competicao 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'cmp_id', 'obj':obj, 'howmany':10 }), # editar dependentes 1: editar múltiplas jornadas anexadas a esta competição 'medit1':self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, "objname":objname1, 'obj':obj, 'objs':objs1, 'howmany':len(objs1) }), # listar dependente 2: clubes desta competição 'list2': List().gera_lista({ "objs":ob2, "objname":objname2, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index2, "limit":limit2 }), # novos dependentes 2: novos clubes anexados a esta competicao 'mnew2': self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'new_for_parent_id':True, "objname":objname2, 'this_id':'cmp_id', 'obj':obj, 'howmany':10, 'clubes':listas.get_lista_clubes(), 'competicoes':listas.get_lista_competicoes() }), # editar dependentes 1: editar múltiplos clubes anexadas a esta competicao 'medit2':self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'multiple_edit':True, 'obj':obj, 'objs':objs2, 'this_id':'cmp_id','howmany':len(objs2), "objname":objname2, 'clubes':listas.get_lista_clubes(), 'competicoes':listas.get_lista_competicoes() }) }) ############################### ######## EDIT JORNADA ######### ############################### elif objname == "jornada": try: obj = Jornada.get_by_id(int(id)) except: obj = Jornada.all().filter("jor_nome = ", id).get() #### DEPENDENTE 1: JOGOS #### objname1 = 'jogo' objs1 = [] for o in obj.jor_jogos: objs1.append(o) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 10 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Jornada.fields, 'tab':tab, # editar this: editar jornada 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'competicoes':listas.get_lista_competicoes() }), # listar dependente 1: jogos desta jornada 'list1': List().gera_lista({ "objs":obj.jor_jogos, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos jogos anexados a esta jornada 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'jor_id', 'obj':obj, 'howmany':10, 'clubes':listas.get_lista_clubes(), 'arbitros':listas.get_lista_arbitros(), # para select com árbitros, 'tacticas':listas.get_lista_tacticas() }), # editar dependentes 1: editar múltiplos jogos anexadas a esta jornada 'medit1':self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs1, 'howmany':len(objs1), 'clubes':listas.get_lista_clubes(), 'arbitros':listas.get_lista_arbitros(), # para select com árbitros, 'tacticas':listas.get_lista_tacticas() }) }) ############################ ######## EDIT JOGO ######### ############################ elif objname == "jogo": try: obj = Jogo.get_by_id(int(id)) except: obj = Jogo.all().filter("jog_nome = ", id).get() # DEPENDENTE 1 objname1 = 'jogador_joga_jogo' objs1 = [] for o in obj.jog_jogadores: objs1.append(o) # DEPENDENTE 2 objname2 = 'lance' objs2 = [] for o in obj.jog_lances: objs2.append(o) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 try: page_index2 = int(self.request.get("pg_"+objname2,"1")) except ValueError: page_index2 = 1 limit1 = 30 limit2 = 10 # vamos buscas jogadores dos dois clubes e colocar na select box # aproveitar e retirar aqueles que já lá estão todos_jogadores = [] jogadores_clube1 = [] jogadores_clube2 = [] for jogador in obj.jog_jogadores: todos_jogadores.append(jogador.jjj_jogador) if jogador.jjj_clube == obj.jog_clube1: jogadores_clube1.append(jogador) else: if jogador.jjj_clube == obj.jog_clube2: jogadores_clube2.append(jogador) todos_jogadores_clube1 = Jogador.all().filter("jgd_clube_actual = ", obj.jog_clube1).fetch(1000) todos_jogadores_clube2 = Jogador.all().filter("jgd_clube_actual = ", obj.jog_clube2).fetch(1000) # JOGADOR todos_jogadores_clube1 = sorted(todos_jogadores_clube1, cmp=lambda x,y: cmp(x.jgd_numero, y.jgd_numero)) todos_jogadores_clube2 = sorted(todos_jogadores_clube2, cmp=lambda x,y: cmp(x.jgd_numero, y.jgd_numero)) todos_jogadores = sorted(todos_jogadores, cmp=lambda x,y: cmp(x.jgd_nome, y.jgd_nome)) # JJJ jogadores_clube1 = sorted(jogadores_clube1, cmp=lambda x,y: cmp(x.jjj_jogador.jgd_numero, y.jjj_jogador.jgd_numero)) jogadores_clube2 = sorted(jogadores_clube2, cmp=lambda x,y: cmp(x.jjj_jogador.jgd_numero, y.jjj_jogador.jgd_numero)) self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Jogo.fields, 'tab':tab, # editar this: editar jogo 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'clubes':listas.get_lista_clubes(), 'arbitros':listas.get_lista_arbitros(), # para select com árbitros, 'tacticas':listas.get_lista_tacticas() }), # listar dependente 1: jjjs deste jogo 'list1': List().gera_lista({ "objs":obj.jog_jogadores, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos jjj anexados a este jogo 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'jog_id', 'obj':obj, 'howmany':28, # parâmetros extra 'jogadores_clube1':todos_jogadores_clube1, 'jogadores_clube2':todos_jogadores_clube2, 'clubes':listas.get_lista_clubes(), 'posicoes':listas.get_lista_posicoes(), 'arbitros':listas.get_lista_arbitros(), 'tacticas':listas.get_lista_tacticas() }), # editar dependentes 1: editar múltiplos jjj anexadas a este jogo # on the render, use jjj_clube1 and jjj_clube2 instead of obj.jog_jogadores # because they are ordered. 'medit1':self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs1, 'howmany':len(objs1), "objname":objname1, # parâmetros extra 'jogadores_clube1':todos_jogadores_clube1, 'jogadores_clube2':todos_jogadores_clube2, 'clubes':listas.get_lista_clubes(), 'posicoes':listas.get_lista_posicoes(), 'jjj_clube1':jogadores_clube1, 'jjj_clube2':jogadores_clube2, 'arbitros':listas.get_lista_arbitros(), 'tacticas':listas.get_lista_tacticas() }), # listar dependente 2: lances deste jogo 'list2': List().gera_lista({ "objs":obj.jog_lances, "objname":objname2, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index2, "limit":limit2 }), # novos dependentes 2: novos lances associados a este jogo 'mnew2': self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'new_for_parent_id':True, "objname":objname2, 'this_id':'jog_id', 'obj':obj, 'howmany':10, #parâmetros extra 'jogadores_clube1':todos_jogadores_clube1, 'jogadores_clube2':todos_jogadores_clube2, 'jogadores':todos_jogadores, 'clubes':listas.get_lista_clubes(), 'tipos_lances':listas.get_lista_tipos_lances(), 'tipos_jels':listas.get_lista_tipos_jels(), 'comentadores':listas.get_lista_comentadores() }), # editar dependentes 1: editar múltiplos lances anexadas a este jogo 'medit2':self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'multiple_edit':True, 'obj':obj, 'objs':objs2, 'howmany':len(objs2), "objname":objname2, 'jogadores_clube1':todos_jogadores_clube1, 'jogadores_clube2':todos_jogadores_clube2, 'jogadores':todos_jogadores, 'clubes':listas.get_lista_clubes(), 'tipos_lances':listas.get_lista_tipos_lances(), 'tipos_jels':listas.get_lista_tipos_jels(), 'comentadores':listas.get_lista_comentadores() }), }) ############################# ######## EDIT LANCE ######### ############################# elif objname == "lance": try: obj = Lance.get_by_id(int(id)) except: obj = Lance.all().filter("lan_nome = ", id).get() # DEPENDENTE 1 objname1 = 'comentador_comenta_lance' objs1 = [] for o in ComentadorComentaLance.all().filter("ccl_lance = ", obj): objs1.append(o) # DEPENDENTE 2 objname2 = 'jogador_em_lance' objs2 = [] for o in JogadorEmLance.all().filter("jel_lance = ", obj): objs2.append(o) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 try: page_index2 = int(self.request.get("pg_"+objname2,"1")) except ValueError: page_index2 = 1 limit1 = 10 limit2 = 10 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Lance.fields, 'tab':tab, # editar this: editar lance 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'objname':objname, 'tipos_lances':listas.get_lista_tipos_lances() }), # listar dependente 1: ccls deste lance 'list1': List().gera_lista({ "objs":obj.lan_comentadores, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos ccls anexados a este lance 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, 'objname':objname1, 'this_id':'lan_id', 'obj':obj, 'howmany':3, # parâmetros extra 'comentadores':listas.get_lista_comentadores() }), # editar dependentes 1: editar múltiplos ccls anexadas a este lance 'medit1':self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs1, 'this_id':'lan_id','howmany':len(objs1), 'objname':objname1, 'comentadores':listas.get_lista_comentadores() }), # listar dependente 2: comentadores deste lance 'list2': List().gera_lista({ "objs":obj.lan_jogadores, "objname":objname2, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index2, "limit":limit2 }), # novo dependente 2: novos ccls associados a este lance 'mnew2': self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'new_for_parent_id':True, 'objname':objname2, 'this_id':'lan_id', 'obj':obj, 'howmany':3, #parâmetros extra 'tipos_jels':listas.get_lista_tipos_jels(), }), # editar dependentes 1: editar múltiplos ccls anexadas a este lance 'medit2':self.render_subdir("admin", 'obj_%s_multiple.html' % objname2, { 'multiple_edit':True, 'obj':obj, 'objs':objs2, 'this_id':'lan_id','howmany':len(objs2),'objname':objname2, 'tipos_jels':listas.get_lista_tipos_jels(), }), }) ############################# ######## EDIT CLUBE ######### ############################# elif objname == "clube": try: obj = Clube.get_by_id(int(id)) except: obj = Clube.all().filter("clu_nome = ", id).get() # DEPENDENTE 1 objname1 = 'jogador' # List() use Query object. medit use list of retrieved objectd objs = Jogador.all().filter("jgd_clube_actual = ", obj) objs1 = [] for o in Jogador.all().filter("jgd_clube_actual = ", obj): objs1.append(o) objs1 = sorted(objs1, cmp=lambda x,y: cmp(x.jgd_numero, y.jgd_numero)) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 40 posicoes = listas.get_lista_posicoes() clubes = listas.get_lista_clubes() logging.info("Starting lista") foo = List().gera_lista({ "objs":objs, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }) foo2 = None try : foo2 = self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, 'objname':objname1, 'this_id':'clu_id', 'obj':obj, 'howmany':10, 'clubes':clubes, 'posicoes':posicoes }) except: logging.info(sys.exc_info()) foo3 = None try : foo3 = self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs1, 'this_id':'clu_id','howmany':len(objs1), 'objname':objname1, 'clubes':clubes, 'posicoes':posicoes }) except: logging.info(sys.exc_info()) self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Clube.fields, 'tab':tab, # editar this: editar clube 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'objname': objname }), # listar dependente 1: jogadores actuais deste clube 'list1': foo, # novo dependente 1: jogadores actuais deste clube 'mnew1': foo2, # editar dependentes 1: editar jogadores actuais deste clube 'medit1':foo3, }) ############################## ####### EDIT JOGADOR ######### ############################## elif objname == "jogador": try: obj = Jogador.get_by_id(int(id)) except: obj = Jogador.all().filter("jgd_nome = ", id).get() #dependente 1 objname1 = 'clube_tem_jogador' objs1 = [] for o in ClubeTemJogador.all().filter("ctj_jogador = ", obj): objs1.append(o) try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 20 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Jogador.fields, 'tab':tab, # editar this: editar jogador 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj, 'posicoes':listas.get_lista_posicoes(), 'epocas':listas.get_lista_epocas(), 'clubes':listas.get_lista_clubes() }), # listar dependente 1: clubes deste jogador 'list1': List().gera_lista({ "objs":obj.jgd_clubes, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos CTJs anexados a este jogador 'mnew1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, 'this_id':'jgd_id', 'obj':obj, 'howmany':10, "objname":objname1, 'epocas':listas.get_lista_epocas(), 'clubes':listas.get_lista_clubes() }), # edit dependente 1: editar CTJs anexados a este jogador 'medit1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'multiple_edit':True, 'obj':obj, 'objs':objs1, 'this_id':'jgd_id','howmany':len(objs1), 'objname':objname1, 'epocas':listas.get_lista_epocas(), 'clubes':listas.get_lista_clubes() }), }) ############################## ####### EDIT ARBITRO ######### ############################## elif objname == "arbitro": try: obj = Arbitro.get_by_id(int(id)) except: obj = Arbitro.all().filter("arb_nome = ", id).get() # DEPENDENCIA 1: JOGOS objname1 = 'jogo' try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 10 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Arbitro.fields, 'tab':tab, # editar this: editar árbitro 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }), # listar dependente 1: jogos deste árbitro 'list1': List().gera_lista({ "objs":obj.arb_jogos, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos jogos anexados a este árbitro 'new1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'arb_id', 'obj':obj }) }) ################################# ####### EDIT COMENTADOR ######### ################################# elif objname == "comentador": obj = Comentador.get_by_id(id) # DEPENDENTE 1 objname1 = 'comentador_comenta_lance' try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 10 self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Comentador.fields, 'tab':tab, # editar this: editar comentador 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }), # listar dependente 1: lances deste comentador 'list1': List().gera_lista({ "objs":obj.com_lances, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos lances anexados a este comentador 'new1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'com_id', 'obj':obj, 'howmany':3 }) }) ############################ ####### EDIT FONTE ######### ############################ elif objname == "fonte": obj = Fonte.get_by_id(id) # DEPENDENCIA1: objname1 = 'comentador' try: page_index1 = int(self.request.get("pg_"+objname1,"1")) except ValueError: page_index1 = 1 limit1 = 10 # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': Fonte.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }), # listar dependente 1: comentadores desta fonte 'list1': List().gera_lista({ "objs":obj.fon_comentadores, "objname":objname1, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "page_index":page_index1, "limit":limit1 }), # novo dependente 1: novos comentadores anexados a esta fonte 'new1': self.render_subdir("admin", 'obj_%s_multiple.html' % objname1, { 'new_for_parent_id':True, "objname":objname1, 'this_id':'fon_id', 'obj':obj }) }) ######## EDIT clube_tem_jogador ######### elif objname == "clube_tem_jogador": obj = ClubeTemJogador.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': ClubeTemJogador.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT clube_joga_competicao ######### elif objname == "clube_joga_competicao": obj = ClubeJogaCompeticao.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': ClubeJogaCompeticao.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT jogador_joga_jogo ######### elif objname == "jogador_joga_jogo": obj = JogadorJogaJogo.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': JogadorJogaJogo.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT comentador_comenta_lance ######### elif objname == "comentador_comenta_lance": obj = ComentadorComentaLance.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': ComentadorComentaLance.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT jogador_em_lance ######### elif objname == "jogador_em_lance": obj = JogadorEmLance.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': JogadorEmLance.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT acumulador jornada ######### elif objname == "acumulador_jornada": obj = AcumuladorJornada.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': AcumuladorJornada.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT acumulador competicao ######### elif objname == "acumulador_competicao": obj = AcumuladorCompeticao.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': AcumuladorCompeticao.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) }) ######## EDIT acumulador epoca ######### elif objname == "acumulador_epoca": obj = AcumuladorEpoca.get_by_id(id) # now let's render the edit page self.render_subdir_to_output("admin", 'edit_%s.html' % objname, { 'obj':obj, 'flash': flash_message, 'objname': objname, 'fields': AcumuladorEpoca.fields, 'tab':tab, # editar this: editar fonte 'edit': self.render_subdir("admin", 'obj_%s.html' % objname, { 'edit':True, 'obj': obj }) })
def get(self): lances = None num_resultados = self.request.get("nr") # critérios # lan_epoca = self.request.get("epo") lan_competicao = self.request.get("cmp") #lan_jornada_numero = self.request.get("lan_jornada_numero") lan_clube1 = self.request.get("clu1") lan_clube2 = self.request.get("clu2") lan_arbitro = self.request.get("arb") lan_jogador = self.request.get("jgd") lan_classe = self.request.get("cla") cache = self.request.get("cache") sid =self.get_sid_from_cookie() # preciso de lista de epocas, lista de competições, lista de clubes, lista de árbitros try: page_index = int(self.request.get("pg","1")) except ValueError: page_index = 1 # values I want, either from memcache, or to generate now resultados = None results_page = None results_total = None results_page_links = None # ok, if we have num_resultados, we have a search if num_resultados: # let's take off the page. THe cache stores the full results, not the page view memcache_label = self.request.path+":"+self.request.query_string # if this search is in memcache, let's use it cacheresultados = memcache.get(memcache_label) # IF NOT or if it's obsolete, LET'S REBUILD IT cache_old = None if cacheresultados and cache != "false": # let's check if there are new stuff from: jogador, clube_tem_jogador cache_old = False for elem in ['lance','comentador_comenta_lance','jogador_em_lance']: cache = memcache.get(elem) if cache and cache['date'] > cacheresultados['date']: cache_old = True if not cacheresultados or cache_old: # jogos = None, cono está no início # devia fazer default a Jogos.all(), mas de notar que há épocas, competições e jornadas # como critérios antecessores. Estes podem já refinar. # FILTRO POR ANTECESSORES (epoca, competicao, jornada) # ou seja: estes filtros produzem a GqlQuery 'jogos' lances = Lance.all() # primeiro nível: 2 # if lan_epoca: # epoca = Epoca.get_by_id(int(lan_epoca)) # lances.filter("lan_epoca = ", epoca) # segundo nível: 2x2 if lan_competicao: competicao = Competicao.all().filter("cmp_nome = ",lan_competicao).get() lances.filter("lan_competicao = ", competicao) # segundo nível: 2x2 # if lan_jornada_numero: # jornadas = Jornada.all().filter("jor_nome_curto = ",lan_jornada_numero).fetch(1000) # lances.filter("lan_jornada in ", jornadas) if lan_clube1: clube = Clube.get_by_id(int(lan_clube1)) lances.filter("lan_clube1 = ", clube) if lan_clube2: clube = Clube.get_by_id(int(lan_clube2)) lances.filter("lan_clube2 = ", clube) if lan_arbitro: arbitro = Arbitro.get_by_id(int(lan_arbitro)) lances.filter("lan_arbitro = ", arbitro) if lan_classe: lances.filter("lan_classe = ", int(lan_classe)) if lan_jogador: jogador = Jogador.all().filter("jgd_nome =",lan_jogador).get() jels = JogadorEmLance.all().filter("jel_jogador = ", jogador).fetch(1000) lance_list = [] for j in jels: lance_list.append(j.jel_lance.key()) lances.filter("__key__ in ", lance_list) # FIM DA FILTRAGEM # INÍCIO DA PAGINAÇÃO # now, let's prepare the pages myPagedQuery = PagedQuery(lances, int(num_resultados)) # myPagedQuery.order("-lan_data") # try: results_page = myPagedQuery.fetch_page(page_index) # except: # error = u"Lamentamos, mas essa combinação de pesquisas não podem ser satisfeitas:<UL><LI>Pesquisas só com épocas</LI><LI>Pesquisas com épocas e nomes de jogadores</LI></UL> Por favor, reformule os critérios para gerar uma pesquisa que o motor de busca consiga satisfazer." myLinks = PageLinks(page=page_index, page_count=myPagedQuery.page_count(), url_root=re.sub("pg=\d+", "", self.request.url), page_field="pg") results_page_links = myLinks.get_links() results_total = lances.count() memcache_label = self.request.path+":"+self.request.query_string # let's put search results on cache memcache.set(memcache_label, {"date":datetime.datetime.today() , "results_page":results_page, "results_total":results_total, "page":page_index, "results_page_links":results_page_links},time=86400) else: results_page = cacheresultados['results_page'] results_total = cacheresultados['results_total'] results_page_links = cacheresultados['results_page_links'] resultados = { "header":{ "obj":"lance", "panel":"pesquisa", "total":results_total, "nr":num_resultados }, "content":[] } if results_page: count = (page_index - 1)*int(num_resultados) for lance in results_page: count += 1 prot = [] for jel in lance.lan_jogadores: prot.append(jel.jel_jogador.jgd_nome) resultados["content"].append({ "nome":lance.printlance(), "logo1":lance.lan_jogo.jog_clube1.clu_link_logo, "logo2":lance.lan_jogo.jog_clube2.clu_link_logo, "protagonistas":", ".join(prot), "data":lance.lan_jogo.jog_data.strftime("%Y-%m-%d"), "tipo":Lance.translation_classe[lance.lan_classe], "jogo":lance.lan_jogo.printjogo(), "jogo_id":lance.lan_jogo.jog_jornada.key().id(), "jornada":lance.lan_jogo.jog_jornada.jor_nome, "jornada_id":lance.lan_jogo.jog_jornada.key().id(), "competicao":lance.lan_jogo.jog_jornada.jor_competicao.cmp_nome_completo+" "+lance.lan_jogo.jog_jornada.jor_competicao.cmp_epoca.epo_nome, "competicao_id":lance.lan_jogo.jog_jornada.jor_competicao.key().id(), "id":lance.key().id(), "click":count }) flash_message = None if sid: flash_message = memcache.get(str(sid), namespace="flash") if flash_message: memcache.delete(str(sid), namespace="flash") self.render_to_output('procurar_lance.html', { ## feedback of get variables # "lan_epoca": lan_epoca, "lan_competicao": lan_competicao, # "lan_jornada_numero": lan_jornada_numero, "lan_clube1": lan_clube1, "lan_clube2": lan_clube2, "lan_arbitro": lan_arbitro, "lan_classe": lan_classe, "lan_jogador": lan_jogador, "num_resultados": num_resultados, "flash":flash_message, # search results "results": resultados, "results_total": results_total, "results_page_links":results_page_links, # memcache stuff "clubes": listas.get_lista_clubes(), "competicoes": listas.get_lista_competicoes(), "tipos_lances": listas.get_lista_tipos_lances(), "arbitros": listas.get_lista_arbitros(), "resultados": [15, 30, 40] })
def get(self): jogos = None num_resultados = self.request.get("nr") sid =self.get_sid_from_cookie() # critérios competicao_id = self.request.get("cmp") cache = self.request.get("cache") try: page_index = int(self.request.get("pg","1")) except ValueError: page_index = 1 # values I want, either from memcache, or to generate now resultados = None results_page = None results_total = None results_page_links = None # ok, if we have num_resultados, we have a search if num_resultados: # let's take off the page. THe cache stores the full results, not the page view memcache_label = self.request.path+":"+self.request.query_string # if this search is in memcache, let's use it cacheresultados = memcache.get(memcache_label) # IF NOT or if it's obsolete, LET'S REBUILD IT cache_old = None if cacheresultados and cache != "false": # let's check if there are new stuff from: jogador, clube_tem_jogador cache_old = False for elem in ['epoca','competicao']: cache = memcache.get(elem) if cache and cache['date'] > cacheresultados['date']: cache_old = True if not cacheresultados or cache_old: competicoes = Competicao.all() # primeiro nível: 1 if competicao_id: c = Competicao.get_by_id(int(competicao_id)) if c: competicoes.filter("__key__ = ", c.key()) # FIM DA FILTRAGEM # INÍCIO DA PAGINAÇÃO # now, let's prepare the pages # jogos.order("-jog_numero_visitas") myPagedQuery = PagedQuery(competicoes, int(num_resultados)) myPagedQuery.order("-cmp_numero_visitas") results_page = myPagedQuery.fetch_page(page_index) myLinks = PageLinks(page=page_index, page_count=myPagedQuery.page_count(), url_root=re.sub("pg=\d+", "", self.request.url), page_field="pg") results_page_links = myLinks.get_links() results_total = competicoes.count() memcache_label = self.request.path+":"+self.request.query_string # let's put search results on cache memcache.set(memcache_label, {"date":datetime.datetime.today() , "results_page":results_page, "results_total":results_total, "page":page_index, "results_page_links":results_page_links},time=86400) else: results_page = cacheresultados['results_page'] results_total = cacheresultados['results_total'] results_page_links = cacheresultados['results_page_links'] resultados = { "header":{ "obj":"competicao", "panel":"pesquisa", "total":results_total, "nr":num_resultados }, "content":[] } if results_page: count = (page_index - 1)*int(num_resultados) for competicao in results_page: count += 1 resultados["content"].append({ "nome":competicao.cmp_nome_completo+" "+competicao.cmp_epoca.epo_nome, "foto":competicao.cmp_link_foto, "id":competicao.key().id(), "click":count }) flash_message = None if sid: flash_message = memcache.get(str(sid), namespace="flash") if flash_message: memcache.delete(str(sid), namespace="flash") self.render_to_output('procurar_competicao.html', { "cmp_nome": competicao_id, "num_resultados": num_resultados, "flash":flash_message, # search results "results": resultados, "results_total": results_total, "results_page_links":results_page_links, # memcache stuff "competicoes": listas.get_lista_competicoes(), "resultados": [15, 30, 40] })
def get(self, objname): sid = self.get_sid_from_cookie() flash_message = None if sid: flash_message = memcache.get(str(sid), namespace="flash") if flash_message: memcache.delete(str(sid), namespace="flash") # gera a lista de entradas para este obj_name # objs, objname, filter_field, filter_needle, url, page_index, limit initial_objs = None fields = None tab = self.request.get("tab") if objname == "clube": initial_objs = Clube.all() fields = Clube.fields elif objname == "jogador": initial_objs = Jogador.all() fields = Jogador.fields elif objname == "epoca": initial_objs = Epoca.all() fields = Epoca.fields elif objname == "competicao": initial_objs = Competicao.all() fields = Competicao.fields elif objname == "jogo": initial_objs = Jogo.all() fields = Jogo.fields elif objname == "arbitro": initial_objs = Arbitro.all() fields = Arbitro.fields elif objname == "comentador": initial_objs = Comentador.all() fields = Comentador.fields elif objname == "fonte": initial_objs = Fonte.all() fields = Fonte.fields elif objname == "jornada": initial_objs = Jornada.all() fields = Jornada.fields elif objname == "lance": initial_objs = Lance.all() fields = Lance.fields elif objname == "clube_tem_jogador": initial_objs = ClubeTemJogador.all() fields = ClubeTemJogador.fields elif objname == "clube_joga_competicao": initial_objs = ClubeJogaCompeticao.all() fields = ClubeJogaCompeticao.fields elif objname == "jogador_joga_jogo": initial_objs = JogadorJogaJogo.all() fields = JogadorJogaJogo.fields elif objname == "comentador_comenta_lance": initial_objs = ComentadorComentaLance.all() fields = ComentadorComentaLance.fields elif objname == "jogador_em_lance": initial_objs = JogadorEmLance.all() fields = JogadorEmLance.fields elif objname == "acumulador_jornada": initial_objs = AcumuladorJornada.all() fields = AcumuladorJornada.fields elif objname == "acumulador_competicao": initial_objs = AcumuladorCompeticao.all() fields = AcumuladorCompeticao.fields elif objname == "acumulador_epoca": initial_objs = AcumuladorEpoca.all() fields = AcumuladorEpoca.fields lista = List().gera_lista_vazia({ "objs":initial_objs, "objname":objname, "filter_field":None, "filter_needle":None, "url":self.request.url, "referrer":objname, "flash":None, "fields":fields }) # lista = List().gera_lista({ # "objs":initial_objs, # "objname":objname, # "filter_field":None, # "filter_needle":None, # "url":self.request.url, # "referrer":objname, # "page_index":1, # "limit":15, # "flash":None}) ############# ### EPOCA ### ############# if objname == "epoca": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ################## ### COMPETICAO ### ################## elif objname == "competicao": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True, 'epocas':listas.get_lista_epocas() }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10, 'epocas':listas.get_lista_epocas() }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############### ### JORNADA ### ############### elif objname == "jornada": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True, 'competicoes':listas.get_lista_competicoes() }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10, 'competicoes':listas.get_lista_competicoes() }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############ ### JOGO ### ############ elif objname == "jogo": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True, 'clubes':listas.get_lista_clubes(),# para select com clubes, 'arbitros':listas.get_lista_arbitros(), # para select com árbitros, 'tacticas':listas.get_lista_tacticas() }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10, 'clubes':listas.get_lista_clubes(),# para select com clubes, 'arbitros':listas.get_lista_arbitros(), # para select com árbitros, 'tacticas':listas.get_lista_tacticas() }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############# ### LANCE ### ############# elif objname == "lance": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True, 'tipos_lances':listas.get_lista_tipos_lances(), 'tipos_jels':listas.get_lista_tipos_jels(), 'comentadores':listas.get_lista_comentadores() }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10, 'tipos_lances':listas.get_lista_tipos_lances(), 'tipos_jels':listas.get_lista_tipos_jels(), 'comentadores':listas.get_lista_comentadores() }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############# ### CLUBE ### ############# elif objname == "clube": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############### ### JOGADOR ### ############### elif objname == "jogador": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True, 'posicoes': listas.get_lista_posicoes(), 'clubes': listas.get_lista_clubes(), 'epocas':listas.get_lista_epocas() }) # new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { # 'objname': objname, # 'fields': fields, # 'new_multiple':True, # 'howmany':10, # 'posicoes': listas.get_lista_posicoes(), # 'clubes': listas.get_lista_clubes(), # 'epocas':listas.get_lista_epocas() # }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, # 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############### ### ARBITRO ### ############### elif objname == "arbitro": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) # new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { # 'objname': objname, # 'fields': fields, # 'new_multiple':True, # 'howmany':10 # }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ################## ### COMENTADOR ### ################## elif objname == "comentador": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############# ### FONTE ### ############# elif objname == "fonte": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ######################### ### CLUBE_TEM_JOGADOR ### ######################### elif objname == "clube_tem_jogador": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ############################# ### CLUBE_JOGA_COMPETICAO ### ############################# elif objname == "clube_joga_competicao": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ######################### ### JOGADOR_JOGA_JOGO ### ######################### elif objname == "jogador_joga_jogo": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ################################ ### COMENTADOR_COMENTA_LANCE ### ################################ elif objname == "comentador_comenta_lance": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ######################## ### JOGADOR_EM_LANCE ### ######################## elif objname == "jogador_em_lance": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ########################## ### ACUMULADOR JORNADA ### ########################## elif objname == "acumulador_jornada": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) new_multiple = self.render_subdir("admin", 'obj_%s_multiple.html' % objname, { 'objname': objname, 'fields': fields, 'new_multiple':True, 'howmany':10 }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'new_multiple':new_multiple, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ########################## ### ACUMULADOR COMPETICAO ### ########################## elif objname == "acumulador_competicao": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab }) ########################## ### ACUMULADOR EPOCA ### ########################## elif objname == "acumulador_epoca": ## TAB renders new_single = self.render_subdir("admin", 'obj_%s.html' % objname, { 'objname': objname, 'fields': fields, 'new_single':True }) ## HOME render self.render_subdir_to_output("admin", 'home_'+objname+'.html', { 'new_single':new_single, 'objname': objname, 'flash': flash_message, 'list': lista, 'tab':tab })