예제 #1
0
 def get(self):
     #branch = self.request.get('branch')
     contention_ID = self.request.get('con_id')
     #con_key = db.Key.from_path('Contention',int(contention_ID))
     con = Contention.get_by_id(int(contention_ID))
     #con_q = db.GqlQuery("SELECT * from Contention where __key__ = key; key=KEY('Contention', contention_ID))
     #con = con_q.get()
     elems = []
     count = 0
     #contention_query =  Contention.all().order('date')
     if con:
         elems = con.elements.fetch(50)
         count = int(elems.count(20)) + 1
     tl = []
     sl = []
     for f in elems:
         if f.top_level == 1:
             tl.append(f)
         else:
             sl.append(f)
     # if users.get_current_user():
     # url = users.create_logout_url(self.request.uri)
     # url_linktext = 'Logout'
     # else:
     # url = users.create_login_url(self.request.uri)
     # url_linktext = 'Login'
     gols = rec_con(tl, sl)
     #listy={'Contention': {'Reason_1': {'Reason_1a': {'Reason_1b': {}}},'Reason_2': {}}}
     params = {'con': con, 'elems': elems, 'count': count, 'gols': gols}
     return self.render('dynamic.html', params)
예제 #2
0
    def get(self):
        #branch = self.request.get('branch')
        contention_ID = self.request.get('con_id')
        #con_key = db.Key.from_path('Contention',int(contention_ID))
        con = Contention.get_by_id(int(contention_ID))
        #con_q = db.GqlQuery("SELECT * from Contention where __key__ = key; key=KEY('Contention', contention_ID))
        #con = con_q.get()
        elems = []
        count = 0
        #contention_query =  Contention.all().order('date')
        if con:
            elems = con.elements.fetch(50)
            count = int(elems.count(20)) + 1
        tl = []
        sl = []
        for f in elems:
            if f.top_level == 1:
                tl.append(f)
            else:
                sl.append(f)
        #gols=self.treeh(tl,sl)
        # for p in tl:
        # od={}
        # od["C1"]=p.content
        # gols.append(self.flatpack(p,sl,od,2))

        #self.response.out.write(json.dumps(gols))
        stringy = ""
        vari = '{\"name\": \"' + con.content + '\",\"step\": \"' + "5" + '\",\"this_step\": \"' + "5" + '\",\"total\": \"' + "5" + '\",\"id\": \"' + contention_ID + '\",\"children\": [' + self.treestring(
            0, len(tl), tl, sl) + ']}'

        params = {'vari': vari, 'con': con, 'tl': tl, 'sl': sl}
        #return tmpl.render()
        self.render('test1.json', params)
예제 #3
0
 def get(self):
     """Handles tree view page"""
     contention_ID = self.request.get('con_id')
     #con_key = db.Key.from_path('Contention',int(contention_ID))
     con = Contention.get_by_id(int(contention_ID))
     params = {'con': con}
     self.render('tree-2.html', params)
예제 #4
0
 def get(self):
     upload_url = blobstore.create_upload_url('/upload')
     contention_ID = self.request.get('con_id')
     con = Contention.get_by_id(int(contention_ID))
     con_date = con.date.strftime("%a, %d. %b %y, %I:%M%p")
     # for x in xrange(1, 11):
     # image_num = "image" + str(x)
     # if con(image_num):
     # con_image_urls[x]= get_serving_url(con(image_num))
     #return images.get_serving_url(self.image1)
     count = 0
     ari_query = Ari_types.all().order('ari')
     aris = ari_query.fetch(50)
     if con:
         elems = con.elements.fetch(50)
         count = int(elems.count(20)) + 1
     tlvl = []
     slvl = []
     for f in elems:
         if f.top_level == 1:
             tlvl.append(f)
         else:
             slvl.append(f)
     gols = rec_con(tlvl, slvl)
     objections = []
     reasons = []
     rcount = 0
     ocount = 0
     ccount = 0
     #contention_query =  Contention.all().order('date')
     if con:
         if elems:
             for r in elems:
                 if r.element_type == 'reason':
                     reasons.append(r)
                     rcount = rcount + 1
             for o in elems:
                 if o.element_type == 'objection':
                     objections.append(o)
                     ocount = ocount + 1
         ccount = int(len(elems))
     branch_query = Branch.all().order('branch')
     branches = branch_query.fetch(10)
     params = {
         'upload_url': upload_url,
         'c_id': contention_ID,
         'con': con,
         'con_date': con_date,
         'reasons': reasons,
         'objections': objections,
         'ccount': ccount,
         'rcount': rcount,
         'ocount': ocount,
         'elems': elems,
         'gols': gols,
         'count': count,
         "branches": branches,
         'aris': aris
     }
     return self.render('contention_panel_view.html', params)
예제 #5
0
 def post(self):
     c_ID = self.request.get('con_id')
     _con = Contention.get_by_id(int(c_ID))
     branch_name = self.request.get('branch')
     elem_type = self.request.get('etype')
     parent_type = self.request.get('ptype')
     content = self.request.get('content')
     step = int(self.request.get('step')) + 1
     e = Elements(contention_key=_con, g_frame=step)
     if parent_type == "con":
         e.top_level = 1
     else:
         e.parent_id = int(self.request.get('pid'))
     e.content = content
     e.branch_name = branch_name
     e.element_type = elem_type
     logging.info("etype= " + elem_type)
     e.parent_t = parent_type
     if self.logged_in:
         logging.info('Checking currently logged in user')
         logging.info(self.current_user.name)
         sessiony = self.auth.get_user_by_session()
         e.author = self.current_user.name
         e.author_id = sessiony['user_id']
     e.put()
     _con.g_frames = step
     _con.put()
예제 #6
0
 def get(self):
     contention_query = Contention.all().order('-date')
     latest = contention_query.fetch(10)
     count = int(cons.count(10)) + 1
     data = {
         "latest": latest,
         "count": count,
     }
     self.response.out.write(json.dumps(data))
예제 #7
0
 def post(self):
     c_id = self.request.get('con_id')
     con = Contention.get_by_id(int(c_id))
     elem_id = self.request.get('elem_id')
     elem_type = self.request.get('etype')
     date = self.request.get('date')
     if elem_type == "con":
         con.other_date = date
         con.put()
     else:
         e = Elements.get_by_id(int(elem_id))
         e.other_date = date
         e.put()
예제 #8
0
 def post(self):
     c_id = self.request.get('con_id')
     reDirStr = '/cv?con_id='+str(c_id)
     con = Contention.get_by_id(int(c_id))
     elem_id = self.request.get('elem_id')
     elem_type = self.request.get('etype')
     date = self.request.get('date')
     if elem_type == "con":
         con.other_date = date
         con.put()
     else:
         for e in con.elements:
             if e.element_id == elem_id:
                 e.other_date = date
         con.put()
     self.redirect(reDirStr)
예제 #9
0
 def post(self):
     etype = self.request.get('etype')
     elem_id = self.request.get('elem_id')
     con_id = self.request.get('con_id')
     lat = float(self.request.get('lat'))
     lng = float(self.request.get('lng'))
     placename = self.request.get('placename')
     if elem_id == "con":
         con = Contention.get_by_id(int(con_id))
         con.latlng = db.GeoPt(lat, lng)
         con.placename = placename
         con.put()
     else:
         elem = Elements.get_by_id(int(elem_id))
         elem.latlng = db.GeoPt(lat, lng)
         elem.placename = placename
         elem.put()
예제 #10
0
 def get(self):
     contention_ID = self.request.get('con_id')
     con = Contention.get_by_id(int(contention_ID))
     elems = []
     count = 0
     if con:
         elems = con.elements.fetch(50)
         count = int(elems.count(20)) + 1
     tlvl = []
     slvl = []
     for f in elems:
         if f.top_level == 1:
             tlvl.append(f)
         else:
             slvl.append(f)
     gols = rec_con(tlvl, slvl)
     objections = []
     reasons = []
     rcount = 0
     ocount = 0
     ccount = 0
     #contention_query =  Contention.all().order('date')
     if con:
         if elems:
             for r in elems:
                 if r.element_type == 'reason':
                     reasons.append(r)
                     rcount = rcount + 1
             for o in elems:
                 if o.element_type == 'objection':
                     objections.append(o)
                     ocount = ocount + 1
         ccount = int(len(elems))
     params = {
         'con': con,
         'reasons': reasons,
         'objections': objections,
         'ccount': ccount,
         'rcount': rcount,
         'ocount': ocount,
         'elems': elems,
         'gols': gols,
         'count': count
     }
     return self.render('recursive_contention.html', params)
예제 #11
0
 def post(self):
     type = self.request.get("i_type")
     the_ID = self.request.get("i_entity_id")
     con_ID = self.request.get("con_id")
     reDirStr = '/cv?con_id=' + str(con_ID)
     image_Num = self.request.get("i_num")
     upload_files = self.get_uploads('file')
     if type == "con":
         c = Contention.get_by_id(int(the_ID))
         blob_info = upload_files[0]
         c.image1 = blob_info.key()
         c.put()
     else:
         e = Elements.get_by_id(int(the_ID))
         blob_info = upload_files[0]
         e.image1 = blob_info.key()
         e.put()
     self.redirect(reDirStr)
예제 #12
0
 def get(self):
     edit = self.request.get('edit')
     type = self.request.get('type')      
     #contention_query =  Contention.all().order('-date')
     #cons = contention_query.fetch(10)
     #count = int(cons.count(10))+1
     #branch_query =  Branch.order('branch')
     branches = Branch.query()
     #ari_query =  Ari_types.order('ari')
     aris = Ari_types.query()
     reasons=[]
     objections=[]
     if edit=="0" or edit=="":
         p_type = "contention"
         params = {
             'branches' : branches,
             'con' : "",
             'edit': edit,
             'p_type': p_type,
             'reasons': reasons,
             'objections': objections,
             'aris' : aris
               }
     elif edit=="1":
         contention_ID = self.request.get('c_id')
         con = Contention.get_by_id(int(contention_ID))
         p_type = "contention"  
         elems=[]    
         reasons=[]
         objections=[]           
         params = {
             'branches': branches,
             'edit': edit,
             'p_type': p_type,
             'con': con,
             'reasons': reasons,
             'objections': objections,
             'elems': elems,
             'aris' : aris,
             #'count': count,
               }
     return self.render('argu_form.html', params)
예제 #13
0
 def post(self):
     etype = self.request.get('etype')
     elem_id = self.request.get('elem_id')
     con_id = self.request.get('con_id')
     reDirStr = '/cv?con_id='+str(con_id)
     lat = float(self.request.get('lat'))
     lng = float(self.request.get('lng'))
     placename = self.request.get('placename')
     if elem_id == "con":
         con = Contention.get_by_id(int(con_id))
         con.latlng = ndb.GeoPt(lat,lng)
         con.placename = placename
         con.put()
     else:
         for e in con.elements:
             if e.element_id == elem_id:
                 e.latlng = ndb.GeoPt(lat,lng)
                 e.placename = placename
         con.put()
     self.redirect(reDirStr)     
예제 #14
0
    def get(self):
        contention_query = Contention.all().order('-date')
        cons = contention_query.fetch(10)
        count = "0"  #int(cons.count(10))+1
        branch_query = Branch.all().order('branch')
        branches = branch_query.fetch(10)
        #images = con.images.fetch(10)

        # if users.get_current_user():
        # url = users.create_logout_url(self.request.uri)
        # url_linktext = 'Logout'
        # else:
        # url = users.create_login_url(self.request.uri)
        # url_linktext = 'Login'

        params = {
            'cons': cons,
            'branches': branches,
            'count': count,
        }
        return self.render('index.html', params)
예제 #15
0
 def get(self):
     upload_url = blobstore.create_upload_url('/upload')
     contention_ID = self.request.get('con_id')
     con = Contention.get_by_id(int(contention_ID))
     con_date = con.date.strftime("%a, %d. %b %y, %I:%M%p")
     # for x in xrange(1, 11):
         # image_num = "image" + str(x)      
         # if con(image_num):
             # con_image_urls[x]= get_serving_url(con(image_num))
     #return images.get_serving_url(self.image1)
     count=0
     aris =  Ari_types.query().fetch()
     #aris = ari_query.fetch(50)
     tlvl=[]
     slvl=[]
     # logging.info('+++++++++++++++++report 3 for con id ='+ contention_ID + '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     # for i in con.elements:
         # logging.info("element_id=[%s]",str(i.element_id))
         # logging.info("content=[%s]",i.content)
     # logging.info("all elements=[%s]",con.elements)
     # logging.info('++++++++++++++++++end report 3+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     for elem in con.elements:
         if len(elem.element_id) == 2:
             tlvl.append(elem)
         else:
             slvl.append(elem)
     gols=Nest_From_LocStruct(tlvl,slvl)
     logging.info("gols=[%s]",gols)
     #branch_query =  Branch.all().order('branch')
     branches = Branch.query().fetch()           
     params = {
             'upload_url':upload_url,
             'c_id':contention_ID,
             'con':con,
             'con_date':con_date,
             'gols':gols,
             "branches":branches,
             'aris': aris
             }
     return self.render('contention_panel_view.html', params)
예제 #16
0
 def post(self):
     type = self.request.get("i_type")
     the_ID = self.request.get("i_entity_id")
     con_ID = self.request.get("con_id")
     reDirStr = '/cv?con_id='+str(con_ID)
     image_Num = self.request.get("i_num")
     upload_files = self.get_uploads('file') 
     c = Contention.get_by_id(int(con_ID))
     blob_info = upload_files[0]
     image_key = blob_info.key()
     image_url = str(get_serving_url(blob_info.key()))
     if type == "con":
         #logging.info("^^^^^^^^^^^^^^^^^^^^con_ID= " + con_ID + " ^^^^^^^^^^^^^^^^^")
         #logging.info("^^^^^^^^^^^^^^^^^^^^FILE= " + str(blob_info) + " ^^^^^^^^^^^^^^^^^")
         image_nums={1:["image1","image_1_url"],2:["image2","image_2_url"],3:["image3","image_3_url"],4:["image4","image_4_url"],5:["image5","image_5_url"],6:["image6","image_6_url"]}
         image_num = c.num_images+1 # increments from zero
         c.num_images = image_num
         # logging.info("^^^^^^^^^^^^^^^^^^^^image var= " + str(image_nums[image_num][0]) + " ^^^^^^^^^^^^^^^^^")
         # imagevar = str(image_nums[image_num][0])
         # imageUrlvar = str(image_nums[image_num][1])
         # imvar = getattr(c, imagevar)
         # imUrlvar = getattr(c, imageUrlvar)
         #image_blobkey_list = c.image
         #image_blobkey_list.append(blob_info.key())
         c.image1 = image_key
         c.image_1_url = image_url
         #image_url_list.append(str(get_serving_url(blob_info.key)))
         #c.image_url = image_url_list
         c.put()
     else:
         for e in c.elements:
             if e.element_id == the_ID:
                e.image1 = image_key
                e.image_1_url = image_url
         c.put()
     self.redirect(reDirStr)
예제 #17
0
 def post(self):
     c_ID = self.request.get('con_id')
     _con = Contention.get_by_id(int(c_ID))
     branch_name = self.request.get('branch')
     elem_type = self.request.get('etype')
     parent_type = self.request.get('ptype')
     pid = self.request.get('pid')
     content = self.request.get('content')
     ss = int(self.request.get('ss'))       
     elems = _con.elements
     e=Elements()           
     contot = _con.tot_element_code
     updated_codes = element_code_update(pid,contot)
     e.element_id = updated_codes['element_id']
     e.parent_id = pid
     e.content = content
     e.sure_score = ss
     e.branch_name = branch_name
     e.element_type = elem_type
     #logging.info("etype= "+elem_type)
     e.parent_t=parent_type
     if self.logged_in:
         logging.info('Checking currently logged in user')
         logging.info(self.current_user.name)
         sessiony = self.auth.get_user_by_session()
         e.author = self.current_user.name
         e.author_id = sessiony['user_id']
     step=int(self.request.get('step'))+1
     _con.g_frame=step
     _con.tot_element_code = updated_codes['tot_element_code']
     elems.append(e)
     _con.elements = elems
     _con.put()
     user_ID = sessiony['user_id']
     u = User.get_by_id(int(user_ID))
     cid = _con.key.id()
     ckey = _con.key  
     g = GPoints()
     uid = u.key.id()
     ukey = ndb.Key(User, uid)
     logging.info("key id = " + str(uid ))
     logging.info("ndb key = ")
     logging.info(ukey)
     g.user_key = ukey
     g.user_name = self.current_user.name
     g.points_log = "Posted " + elem_type
     g.contention_key = ckey
     g.contention_id = cid
     g.element_id = updated_codes['element_id']
     g.branch_name = branch_name
     g.points = 10
     g.elem_type = elem_type
     g.content = content
     g.put()
     logging.info('+++++++++++++++++report 1 for con id ='+ c_ID + '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     logging.info(_con.elements)
     logging.info('++++++++++++++++++end report 1+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     newcon = Contention.get_by_id(int(c_ID))
     logging.info('+++++++++++++++++report 2 for con id ='+ c_ID + '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     for i in newcon.elements:
         logging.info(i.element_id)
         logging.info(i.content)
         logging.info(newcon.elements)
     logging.info('++++++++++++++++++end report 2+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
     self.redirect('/cv?con_id=%s' % _con.key.id())
예제 #18
0
 def post(self):
     branchname = self.request.get('branch_name')
     edit_type = self.request.get('e_type')
     premise_type = self.request.get('p_type')
     content = self.request.get('form_content_0')
     ss = int(self.request.get('sscore_slider'))
     logging.info(self.request.POST)
     picture_url_0 = self.request.get('picture_url_0')
     if  picture_url_0 :
         field_storage = self.request.POST.multi['picture_url_0']
         mimetype = field_storage.type
         logging.info("Mimetype: {}".format(mimetype))
     user = self.current_user
     #branch_q = Branch.query(Branch.branch==branchname).fetch(1)
     #branch_key = branch_q.key()
     #branch_key = branch('key')
     #branch = Branch(parent=branch_key('Business'))
     #branch_key = branch.Key().
     #b_key = db.Key.from_path('Branch', branch)
     #tag_list1 = split(self.request.get('form_content_0'))
     tag_list=['one','two','three']
     step=0
     if premise_type == "contention":
         if edit_type == "" or edit_type == "0":  
             if self.logged_in:  
                 c = Contention()#branch_key=branch_q.key.get(), tags=tag_list )
                 c.content = content
                 c.sure_score = ss
                 c.branch_name = branchname
                 logging.info('Checking currently logged in user')
                 logging.info(self.current_user.name)
                 sessiony = self.auth.get_user_by_session()
                 c.author = self.current_user.name
                 c.author_id = sessiony['user_id']
                 c.put() 
                 user_ID = sessiony['user_id']
                 user_name = self.current_user.name
                 cid = c.key.id()
                 ## use gpoints function:
                 ## update_gpoints(user_id,user_name, branch_name,con_id,elem_id,elem_type,content,reply_user_id,reply_user_name,reply_elem_id,reply_elem_type,reply_content,category)
                 ## 
                 update_gpoints(user_ID,user_name, branchname,cid,"00","Contention",content,user_ID,user_name,"none","Con","none",1)
         elif edit_type == "1":
             contention_ID = self.request.get('c_id')
             c = Contention.get_by_id(int(contention_ID))
             if c.g_frames:
                 step = c.g_frames
             else:
                 step = 0                
             c.content = content
             c.g_frames = step + 1
             c.put()      
     self.redirect('/cv?con_id=%s' % c.key.id())
예제 #19
0
    def post(self):
        branch_name = self.request.get('branch_name')
        edit_type = self.request.get('e_type')
        premise_type = self.request.get('p_type')
        logging.info(self.request.POST)
        picture_url_0 = self.request.get('picture_url_0')
        if picture_url_0:
            field_storage = self.request.POST.multi['picture_url_0']
            mimetype = field_storage.type
            logging.info("Mimetype: {}".format(mimetype))
        user = self.current_user
        branch_q = db.GqlQuery("SELECT * FROM Branch WHERE branch = :1",
                               branch_name)
        branch = branch_q.get()
        #branch = Branch(parent=branch_key('Business'))
        #branch_key = branch.Key().id()
        #b_key = db.Key.from_path('Branch', branch)
        #tag_list1 = split(self.request.get('form_content_0'))
        tag_list = ['one', 'two', 'three']
        step = 0
        if premise_type == "contention":
            if edit_type == "0":
                c = Contention(branch_key=branch, tags=tag_list)
                c.content = self.request.get('form_content_0')
                c.branch_name = branch_name
                if self.logged_in:
                    logging.info('Checking currently logged in user')
                    logging.info(self.current_user.name)
                    sessiony = self.auth.get_user_by_session()
                    c.author = self.current_user.name
                    c.author_id = sessiony['user_id']
                c.put()
                if picture_url_0 != '':
                    i = Images(branch_key=branch, contention_key=c)
                    i.image = db.Blob(picture_url_0)
                    i.element_type = "contention"
                    i.description = self.request.get('image_description_0')
                    if self.logged_in:
                        i.author = self.current_user.name
                        i.author_id = sessiony['user_id']
                    i.put()
                    c.image_id = i.key().id()
                    c.put()
            elif edit_type == "1":
                contention_ID = self.request.get('c_id')
                con = Contention.get_by_id(int(contention_ID))
                if con.g_frames:
                    step = con.g_frames
                else:
                    step = 0
                gframe = Elements(contention_key=con,
                                  element_type="contention",
                                  gframe=step,
                                  image_id=con.image_id,
                                  author=con.author,
                                  author_id=con.author_id,
                                  content=con.content)
                gframe.put()
                con.content = self.request.get('form_content_0')
                con.g_frames = step + 1
                if picture_url_0 != '':
                    i = Images(branch_key=branch, contention_key=c)
                    i.image = db.Blob(picture_url_0)
                    i.element_type = "contention"
                    i.description = self.request.get('image_description_0')
                    if self.logged_in:
                        sessiony = self.auth.get_user_by_session()
                        i.author = self.current_user.name
                        i.author_id = sessiony['user_id']
                    i.put()
                    con.image_id = i.key().id()
                con.put()
        if premise_type == "element":
            contention_ID = self.request.get('c_id')
            con = Contention.get_by_id(int(contention_ID))
            if edit_type == "0":
                c = Elements(contention_key=con, gframe=step)
                c.content = self.request.get('form_content_0')
                c.branch_name = branch_name
                if self.logged_in:
                    logging.info('Checking currently logged in user')
                    logging.info(self.current_user.name)
                    sessiony = self.auth.get_user_by_session()
                    c.author = self.current_user.name
                    c.author_id = sessiony['user_id']
                c.put()
                if picture_url_0 != '':
                    i = Images(branch_key=branch, contention_key=con)
                    i.image = db.Blob(picture_url_0)
                    i.element_type = "contention"
                    i.description = self.request.get('image_description_0')
                    if self.logged_in:
                        i.author = self.current_user.name
                        i.author_id = sessiony['user_id']
                    i.put()
                    c.image_id = i.key().id()
                    c.put()
                    con.g_frames = step + 1
                    con.put()
            elif edit_type == "1":
                contention_ID = self.request.get('c_id')
                con = Contention.get_by_id(int(contention_ID))
                gframe = Elements(contention_key=con,
                                  element_type="contention",
                                  gframe=step,
                                  image_id=con.image_id,
                                  author=con.author,
                                  author_id=con.author_id,
                                  content=con.content)
                gframe.put()
                con.content = self.request.get('form_content_0')
                con.g_frames = step + 1
                if picture_url_0 != '':
                    i = Images(branch_key=branch, contention_key=c)
                    i.image = db.Blob(picture_url_0)
                    i.element_type = "contention"
                    i.description = self.request.get('image_description_0')
                    if self.logged_in:
                        sessiony = self.auth.get_user_by_session()
                        i.author = self.current_user.name
                        i.author_id = sessiony['user_id']
                    i.put()
                    con.image_id = i.key().id()
                con.put()

        reasons = int(self.request.get('_reasons'))
        objections = int(self.request.get('_objections'))
        if reasons > 0:
            if edit_type == "0":
                for reas in range(1, reasons + 1):
                    pic = 'picture_url_' + str(reas)
                    pict = self.request.get(pic)
                    if premise_type == "contention":
                        r = Elements(contention_key=c,
                                     top_level=1,
                                     gframe=step)
                    if premise_type == "element":
                        r = Elements(contention_key=con,
                                     top_level=0,
                                     gframe=step,
                                     parent_id=c.key().id())
                    r.element_type = 'reason'
                    if pict != '':
                        i = Images(branch_key=branch, contention_key=c)
                        i.image = db.Blob(picture_url_0)
                        i.element_type = "contention"
                        i.description = self.request.get('image_description_0')
                        if self.logged_in:
                            sessiony = self.auth.get_user_by_session()
                            i.author = self.current_user.name
                            i.author_id = sessiony['user_id']
                        i.put()
                    #r.image_id=i.key().id()
                    rcon = 'form_reason_' + str(reas)
                    r.content = self.request.get(rcon)
                    r.branch_name = branch_name
                    if self.logged_in:
                        sessiony = self.auth.get_user_by_session()
                        r.author = self.current_user.name
                        r.author_id = sessiony['user_id']
                    r.put()

            elif edit_type == "1":
                for reas in range(1, reasons + 1):
                    pic = 'picture_url_' + str(reas)
                    pict = self.request.get(pic)
                    el_id = 'form_reason_' + str(reas) + '_'
                    e_id = self.request.get(el_id)
                    rcon = 'form_reason_' + str(reas)
                    r_content = self.request.get(rcon)
                    logging.info("this is test")
                    logging.info('form_reason_' + str(reas) + '_')
                    r = Elements.get_by_id(int(e_id))
                    if r_content != r.content:
                        if premise_type == "contention":
                            gframe = Elements(contention_key=con,
                                              element_type="reason",
                                              gframe=step,
                                              image_id=r.image_id,
                                              author=r.author,
                                              author_id=r.author_id,
                                              content=r.content)
                            gframe.put()
                            r.content = r_content
                            r.g_frame = con.g_frames
                        if premise_type == "element":
                            r = Elements(contention_key=con,
                                         parent_id=c.key().id())
                            r.top_level = 0
                        r.element_type = 'reason'
                        if pict != '':
                            i = Images(branch_key=branch, contention_key=c)
                            i.image = db.Blob(picture_url_0)
                            i.element_type = "contention"
                            i.description = self.request.get(
                                'image_description_0')
                            if self.logged_in:
                                sessiony = self.auth.get_user_by_session()
                                i.author = self.current_user.name
                                i.author_id = sessiony['user_id']
                            i.put()
                        #r.image_id=i.key().id()
                        rcon = 'form_reason_' + str(reas)
                        r.content = self.request.get(rcon)
                        r.branch_name = branch_name
                        if self.logged_in:
                            sessiony = self.auth.get_user_by_session()
                            r.author = self.current_user.name
                            r.author_id = sessiony['user_id']
                        r.put()
        if objections > 0:
            for objs in range(1, objections + 1):
                picobjs = objs + 5
                pic = 'picture_url_' + str(picobjs)
                pict = self.request.get(pic)
                o = Elements(contention_key=c)
                if premise_type == "contention":
                    o = Elements(contention_key=c)
                    o.top_level = 1
                if premise_type == "element":
                    o = Elements(contention_key=con, parent_id=c)
                    o.top_level = 0
                if pict != '':
                    o.image = db.Blob(urlfetch.Fetch(pict).content)
                ocon = 'form_objection_' + str(objs)
                o.content = self.request.get(ocon)
                o.branch_name = branch_name
                if self.logged_in:
                    sessiony = self.auth.get_user_by_session()
                    o.author = self.current_user.name
                    o.author_id = sessiony['user_id']
                o.put()

        self.redirect('/conv?con_id=%s' % c.key().id())
예제 #20
0
    def get(self):
        edit = self.request.get('edit')
        type = self.request.get('type')
        #contention_query =  Contention.all().order('-date')
        #cons = contention_query.fetch(10)
        #count = int(cons.count(10))+1
        branch_query = Branch.all().order('branch')
        branches = branch_query.fetch(10)
        ari_query = Ari_types.all().order('ari')
        aris = ari_query.fetch(50)
        if edit == "0" or edit == "":
            p_type = "contention"
            params = {
                'branches': branches,
                'con': "",
                'reasons': "",
                'objections': "",
                'edit': edit,
                'p_type': p_type,
                'aris': aris
            }
        elif edit == "1":
            contention_ID = self.request.get('c_id')
            con = Contention.get_by_id(int(contention_ID))
            p_type = "contention"
            reasons = {}
            objections = {}
            if con:
                elems = con.elements.fetch(50)
                count = int(elems.count(20)) + 1
                rsn = 0
                objn = 0
                for f in elems:
                    if f.top_level == 1:
                        if f.element_type == 'reason':
                            rsn = rsn + 1
                            reasons['reason' + str(rsn)] = f
                        if f.element_type == 'objection':
                            objn = objn + 1
                            objections['objection' + str(objn)] = f
            params = {
                'branches': branches,
                'edit': edit,
                'p_type': p_type,
                'con': con,
                'elems': elems,
                'reasons': reasons,
                'objections': objections,
                'aris': aris,
                #'count': count,
            }
        elif edit == "2":
            contention_ID = self.request.get('c_id')
            con = Contention.get_by_id(int(contention_ID))
            p_type = "element"
            reasons = []
            objections = []
            if con:
                elems = con.elements.fetch(50)
                count = int(elems.count(20)) + 1
                elem_ID = int(self.request.get('e_id'))
                rsn = 0
                objn = 0
                for f in elems:
                    if f.parent_id == elem_ID:
                        if f.element_type == 'reason':
                            rsn = rsn + 1
                            reasons['reason' + str(rsn)] = f
                        if f.element_type == 'objection':
                            objn = objn + 1
                            objections['objection' + str(objn)] = f
            #edit_gols['subnodes']=slvl
            elem_ID = self.request.get('e_id')
            elem = Elements.get_by_id(int(elem_ID))
            params = {
                'branches': branches,
                'edit': edit,
                'p_type': p_type,
                'con': con,
                'elem': elem,
                'reasons': reasons,
                'objections': objections,
                'aris': aris,
                'form_url': blobstore.create_upload_url('/upload')
                #'count': count,
            }

        # if users.get_current_user():
        # url = users.create_logout_url(self.request.uri)
        # url_linktext = 'Logout'
        # else:
        # url = users.create_login_url(self.request.uri)
        # url_linktext = 'Login'

        return self.render('argu_form.html', params)