示例#1
0
def create():
    from gluon.tools import Crud

    #Hide the fields that should not be accessable by the user
    hideFields(db.game,
               ['host_id', 'game_status', 'password', 'winner_id', 'rules'])

    #Run the form
    #form = SQLFORM(db.game)
    #form.add_class('assassins-form')
    #form.vars.host_id=auth.user.id

    #Create the form
    crud = Crud(db)
    crud.messages.submit_button = 'Create Game'
    form = crud.create(db.game)
    form.add_class('assassins-form')
    form.vars.host_id = auth.user.id

    #When the form is submitted, add the creator as a player and go to new game
    if form.process().accepted:
        joinGame(form.vars.id, auth.user)
        resizeImage(db.game, form.vars.id)
        redirect(URL('default', 'game', args=form.vars.id))

    return dict(form=form)
示例#2
0
def create():
	from gluon.tools import Crud

	#Hide the fields that should not be accessable by the user
	hideFields (db.game, ['host_id', 'game_status', 'password'])

	#Run the form
	#form = SQLFORM(db.game)
	#form.add_class('assassins-form')
	#form.vars.host_id=auth.user.id

	#Create the form
	crud = Crud(db)
	crud.messages.submit_button = 'Create Game'
	form = crud.create(db.game)
	form.add_class('assassins-form')
	form.vars.host_id=auth.user.id

	#When the form is submitted, add the creator as a player and go to new game
	if form.process().accepted:
		addPlayer(form.vars.id, auth.user)
		resizeImage(db.game, form.vars.id)
		redirect(URL('game', 'detail', args=form.vars.id))

	return dict(form=form)
示例#3
0
def add_log():
	import re
	from datetime import datetime
	from gluon.tools import Crud
	pattern = re.compile(r"""
			\[(?P<time>.*?)\]
			\s(?P<mac>[0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2})
			\s(?P<more>.*)
			\s*"""
			, re.VERBOSE)
	crud = Crud(db)
	form = crud.create(db.log)
	if form.process(dbio=False).accepted:
		form.vars.log_id = db.log.insert(**dict(form.vars))
		request.vars.log_file.file.seek(0)
		count=0
		for line in request.vars.log_file.file:
			#print 'l', line
			match = pattern.findall(line)	
			if match:
				d = datetime.strptime(match[0][0], '%m/%d/%y %H:%M:%S')
				db.record.insert(log_id=form.vars.log_id, 
						station_id=form.vars.station_id,
						mac=match[0][1], 
						gathered_on=d)			
				count += 1
		session.flash = 'Inserted %s record' % count
		try:
			cache.memcache.flush_all()	#memcache client
		except:
			cache.memcache.clear() 		#web2py ram client 

		redirect(URL(c='plot', f='index', vars={'id':form.vars.station_id}))
	return response.render('default/index.html', dict(form=form))
示例#4
0
def accessory_crud():
    """ Create a simple form using the CRUD function of web2py. """

    from gluon.tools import Crud
    crud = Crud(db)
    accessory_crud = crud.create(db.accessory)
    return locals()
示例#5
0
def add_log():
	import re
	from datetime import datetime
	from gluon.tools import Crud
	pattern = re.compile(r"""
			\[(?P<time>.*?)\]
			\s(?P<mac>[0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2}[:][0-9A-F]{2})
			\s(?P<more>.*)
			\s*"""
			, re.VERBOSE)
	crud = Crud(db)
	form = crud.create(db.log)
	if form.process(dbio=False).accepted:
		form.vars.log_id = db.log.insert(**dict(form.vars))
		request.vars.log_file.file.seek(0)
		count=0
		for line in request.vars.log_file.file:
			#print 'l', line
			match = pattern.findall(line)	
			if match:
				d = datetime.strptime(match[0][0], '%m/%d/%y %H:%M:%S')
				db.record.insert(log_id=form.vars.log_id, 
						station_id=form.vars.station_id,
						mac=match[0][1], 
						gathered_on=d)			
				count += 1
		session.flash = 'Inserted %s record' % count
		redirect(URL(f='index', vars={'id':form.vars.station_id}))
	return response.render('default/index.html', dict(form=form))
示例#6
0
def admin():

    args = request.args

    title = 'administration'

    if not args:
        link = UL(*[LI(A(tab,_href=URL(args=tab))) for tab in db.tables])
        return dict(items=link,title=title)

    if not args(1):
        i = 0
    else:
        i =1

    for tab in db.tables:
        if tab==args(i):
            tb = db[tab]

    crud = Crud(db)

    if args(0)=='edit':
        form = crud.update(tb, args(2),next=URL(f='admin',args=args(1)))
        items = None
        title = 'Edit %s ' % args(i)
    else:
        form = crud.create(tb)
        rows = db().select(tb.ALL)
        items = SQLTABLE(rows,linkto='edit')
        title = 'Insert %s ' % args(i)


    return dict(form=form,items=items,title=title)
示例#7
0
def comments():
    """
        Function accessed by AJAX to handle Comments
        - for discuss(() & page()
    """

    try:
        post_id = request.args[0]
    except:
        raise HTTP(400)

    table = s3db.cms_comment

    # Form to add a new Comment
    from gluon.tools import Crud
    crud = Crud()
    table.post_id.default = post_id
    table.post_id.writable = table.post_id.readable = False
    form = crud.create(table)

    # List of existing Comments
    comments = db(table.post_id == post_id).select(table.id,
                                                   table.parent,
                                                   table.body,
                                                   table.created_by,
                                                   table.created_on)

    output = UL(_id="comments")
    for comment in comments:
        if not comment.parent:
            # Show top-level threads at top-level
            thread = comment_parse(comment, comments, post_id=post_id)
            output.append(thread)

    # Also see the outer discuss()
    script = \
'''$('#comments').collapsible({xoffset:'-5',yoffset:'50',imagehide:img_path+'arrow-down.png',imageshow:img_path+'arrow-right.png',defaulthide:false})
$('#cms_comment_parent__row1').hide()
$('#cms_comment_parent__row').hide()
$('#cms_comment_body').ckeditor(ck_config)
$('#submit_record__row input').click(function(){
 $('#comment-form').hide()
 $('#cms_comment_body').ckeditorGet().destroy()
 return true
})'''

    # No layout in this output!
    #s3.jquery_ready.append(script)

    output = DIV(output,
                 DIV(H4(T("New Post"),
                        _id = "comment-title"),
                     form,
                     _id = "comment-form",
                     _class = "clear",
                     ),
                 SCRIPT(script))

    return XML(output)
示例#8
0
def add_station():
	from gluon.tools import Crud
	crud = Crud(db)
	form = crud.create(db.station)
	if form.process(dbio=True).accepted:
		session.flash = 'Station added correctly'
		redirect(URL(f='index'))
	return response.render('default/index.html', dict(form=form))
示例#9
0
def add_station():
	from gluon.tools import Crud
	crud = Crud(db)
	form = crud.create(db.station)
	if form.process(dbio=True).accepted:
		session.flash = 'Station added correctly'
		redirect(URL(f='index'))
	return response.render('default/index.html', dict(form=form))
示例#10
0
def messages():
    db = current.db
    auth = current.auth
    request = current.request

    crud = Crud(db)
    crud.settings.formstyle = 'table3cols'
    crud.settings.keepvalues = True
    crud.messages.submit_button = '送信'
    crud.messages.delete_label = '削除する'
    crud.messages.record_created = 'メッセージを作成しました'
    crud.messages.record_updated = 'メッセージを更新しました'
    crud.messages.record_deleted = '削除しました'
    crud.messages.create_log = 'Message Record %(id)s created'
    crud.messages.update_log = 'Message Record %(id)s updated'
    crud.settings.create_next = URL('messages')
    crud.settings.download_url = URL('download')
    crud.settings.create_onaccept = give_create_message_permission
    crud.settings.update_ondelete = remove_message_permission

    button = A(BUTTON('リストへ戻る'), _href=URL('messages'))
    db.messages.to_group.represent = show_to_group
    db.messages.to_group.requires = IS_IN_SET(get_to_group_list(), zero=None)
    db.messages.created_by.label = '作成者'
    db.messages.created_by.readable = True

    if (request.args(0) == 'read'):
        crud.settings.auth = auth
        if auth.has_permission('update', db.messages, request.args(1)):
            button += A(BUTTON('編集する'),
                        _href=URL('messages/update', request.args(1)))
        return dict(form=crud.read(db.messages, request.args(1)),
                    button=button)
    if (request.args(0) == 'new'):
        return dict(form=crud.create(db.messages), button=button)
    if (request.args(0) == 'update'):
        crud.settings.auth = auth
        db.messages.to_group.writable = False
        return dict(form=crud.update(db.messages,
                                     request.args(1),
                                     deletable=True),
                    button=button)

    query = auth.accessible_query('read', db.messages, auth.user.id)
    db.messages.title.represent = lambda title, row: A(
        title, _href=URL(args=('read', row.id)))
    db.messages.id.represent = lambda id, row: ''
    form = crud.select(db.messages,
                       query=query,
                       fields=['title', 'created_by', 'modified_on', 'id'],
                       orderby=~db.messages.modified_on,
                       headers={
                           'messages.title': '件名',
                           'messages.created_by': db.messages.created_by.label,
                           'messages.modified_on': '更新時刻',
                           'messages.id': ''
                       })
    return dict(form=form, button=A(BUTTON('新規作成'), _href=URL('messages/new')))
示例#11
0
def accessory_crud():
    """ Create a simple form using the CRUD function of web2py. """

    #aqui ele formata tudo sozinho e ainda envia para o banco sozinho também
    #mostra a mensagem de falha sozinho
    from gluon.tools import Crud
    crud = Crud(db)
    accessory_crud = crud.create(db.accessory)
    return locals()
示例#12
0
def people():

    from gluon.tools import Crud
    crud = Crud(db)

    form = crud.create(db.client, next=URL('people'),message=T("record created"))
    persons = crud.select(db.client, fields=['name'],headers={'client.name': 'Name'})

    return dict(form=form, persons=persons)
示例#13
0
def autocomplet():

    from gluon.tools import Crud
    crud = Crud(db)

    form = crud.create(db.product2, next=URL('autocomplet'),message=T("record created"))
    persons = crud.select(db.product2, fields=['category'],headers={'product2.category': 'Tipo'})

    return dict(form=form, persons=persons)
示例#14
0
def crud():
    
    tablename = request.args(0)
    action = request.args(1)
    event_id = request.get_vars['eid']
    record_id = request.get_vars['id']
    
    if session.crud and session.crud.return_page:
        return_page = URL(session.crud.return_page)
        
    else:
        return_page = URL('table/' + tablename)
     
    crud = Crud(shotdb)
    crud.settings.auth = auth   # ensures access control via permissions
    crud.settings.controller = 'staff'
    crud.settings.create_next = return_page
    crud.settings.update_next = return_page
    crud.settings.update_deletable = True
    crud.settings.showid = True

    if session.crud and session.crud.fix_ref_id:
        for ref_table, ref_id in session.crud.fix_ref_id.iteritems():
            if ref_id > 0 and ref_table in shotdb[tablename]:
                    shotdb[tablename][ref_table].default = ref_id
                    shotdb[tablename][ref_table].writable = False
    
    # add event filter to drop down selectors
    if event_id != None and event_id > 0:
        if tablename == 'help':
            shotdb.help.shift.requires = IS_IN_DB(shotdb(shotdb.shift.event == event_id), 'shift.id', '%(activity)s, %(day)s, %(time)s')
        elif tablename == 'bring':
            shotdb.bring.donation.requires = IS_IN_DB(shotdb(shotdb.donation.event == event_id), 'donation.id', '%(item)s')
    
    if tablename == 'person':
        crud.settings.create_onvalidation = __create_person_onvalidation
        crud.settings.update_onvalidation = __update_person_onvalidation
        crud.settings.update_onaccept     = __update_person_onaccept
        crud.settings.update_ondelete     = __update_person_ondelete
        shotdb.person.code.writable = False
        shotdb.person.verified.writable = False
        crud.messages.record_created = None
    else:
        # default flash messages
        crud.messages.record_created = None
        crud.messages.record_updated = None
        crud.messages.record_deleted = 'Der Datenbankeintrag wurde gelöscht.'
    
    if(action == 'add'):            
        crud_response = crud.create(tablename)
    elif(action == 'edit' and record_id != None):
        crud_response = crud.update(tablename, record_id)
    else:
        crud_response = 'Nothing selected!'
    
    return dict(crud_response = crud_response)
示例#15
0
def index():
    """
    example action using the internationalization operator T and flash
    rendered by views/default/index.html or views/generic.html
    """
    from gluon.tools import Crud

    crud = Crud(db)

    form = crud.create(db.userskill)
    return dict(form=form)
示例#16
0
def hoi_dap():
	forlder_id = cms.get_folder(request.args(0))
	hoi_dap = cms.define_table(tablename ='hoi_dap',migrate=True)

	hoi_dap.folder.writable=False
	hoi_dap.folder.readable=False
	hoi_dap.folder.default=forlder_id 

	hoi_dap.avatar.writable=False
	hoi_dap.avatar.readable=False
	hoi_dap.avatar.default=' ' 

	hoi_dap.htmlcontent.writable=False
	hoi_dap.htmlcontent.readable=False

	from gluon.tools import Recaptcha
	public_key='6LdtT_YSAAAAALCH4vbHKl1yjqvhB80JZh1J21Lv'
	private_key='6LdtT_YSAAAAAI6XnBMNNWwSkJeSYtbP_-kW5HUH' ### provided by recaptcha.net

	from gluon.tools import Crud
	crud = Crud(cms.db)
	crud.settings.captcha =  Recaptcha(request,public_key,private_key,options = "lang:'en', theme:'clean'")
	form=crud.create(hoi_dap) 

	# form[0].insert(-1, TR('', Recaptcha(request,public_key,private_key,options = "lang:'en', theme:'clean'"))) 

	if form.process().accepted:
		
		from plugin_process import ProcessModel
		process = ProcessModel()
		objects = process.define_objects(True)
		log     = process.define_process_log(True)

		objects_id =objects.insert(folder=forlder_id ,tablename='hoi_dap',table_id=form.vars.id ,process=2)
		log.insert(objects=objects_id, process=2)
		response.flash=T('done!')
		# scr ='''<script type="text/javascript"> 
   				# setInterval("location.reload();",1000);
			# </script>'''
		# form.append(XML(scr))
	# if form.errors:
		# response.flash=T('Loi nhap du lieu!')
		# scr ='''<script type="text/javascript"> 
   				# setInterval("location.reload();",1000);
			# </script>'''
		# form.append(XML(scr))
	div = DIV(_id='hoi_dap')
	div.append(DIV(H2('Nhập câu hỏi',_class="title_box"),_class="tinlienquan"))
	div.append(form)
	response.view = 'layout/hoi_dap_13.html'
	return dict(content=div)
示例#17
0
def add_cong_ty():
    id_folder = request.args(1)
    name = request.args(2)
    from plugin_ckeditor import CKEditor
    div = DIV(_class='col-md-12')
    div.append(
        H2(SPAN('Khởi tạo gian hàng', _class='title_name'),
           _class='title_page'))
    cong_ty = cms.define_table('cong_ty')
    from gluon.tools import Crud
    crud = Crud(cms.db)
    cong_ty.folder.default = id_folder
    cong_ty.folder.writable = False
    cong_ty.folder.readable = False

    cong_ty.start_time.writable = False
    cong_ty.start_time.readable = False

    cong_ty.danh_gia.writable = False
    cong_ty.danh_gia.readable = False

    cong_ty.is_maps.writable = False
    cong_ty.is_maps.readable = False
    form = crud.create(cong_ty)
    if form.process().accepted:
        from plugin_process import ProcessModel
        objects = ProcessModel().define_objects()
        objects_id = objects.insert(folder=id_folder,
                                    foldername=name,
                                    tablename='cong_ty',
                                    table_id=form.vars.id,
                                    auth_group=8,
                                    process=3)
        link = name.replace('đ', 'd')
        link = '%s.html' % IS_SLUG.urlify(link)
        dcontent = cms.define_dcontent()
        dcontent.insert(folder=id_folder,
                        dtable='cong_ty',
                        table_id=form.vars.id,
                        link=link,
                        name=form.vars.name,
                        avatar=form.vars.avatar,
                        description=form.vars.description,
                        publish_on=request.now,
                        expired_on=None)
        cms.db(cong_ty.id == form.vars.id).update(link=link)
        redirect(URL(c='portal', f='folder', args=[name]))
    div.append(form)
    response.view = 'layout/home_dang_ky_nha_cung_cap.html'
    return dict(content=div)
示例#18
0
def create_dropdown():
    table, field = request.args(0).split('.')
    refereed = db[table][field].type[10:] if db[table][
        field].type[:9] == 'reference' else db[table][field].type[15:]
    db[table][field].requires = IS_IN_DB(db, refereed + '.id', '%(name)s')
    from gluon.tools import Crud
    crud = Crud(db)
    form = crud.create(db[refereed])
    if form.vars.id:
        session['_plugin_dropbox:%s' % request.args(0)] = form.vars.id
    options = UL(*[
        LI(v) for k, v in db[table][field].requires.options()
        if k == str(form.vars.id)
    ])
    return dict(form=form, options=options)
示例#19
0
文件: default.py 项目: chugle/hw2
def zuoye():
    zuozhe=auth.user_id
    keshi_id=request.args[0]
    crud=Crud(db)
    if db.zuoye((db.zuoye.zuozhe==zuozhe)&(db.zuoye.keshi==keshi_id)):
        db.zuoye.defen.writable=False
        zuoye_id=db.zuoye((db.zuoye.zuozhe==zuozhe)&(db.zuoye.keshi==keshi_id)).id
        form=crud.update(db.zuoye,zuoye_id,deletable=False,next=request.url)
        db.zuoye.defen.writable=True
    else:
        db.zuoye.zuozhe.default=zuozhe
        db.zuoye.keshi.default=keshi_id
        db.zuoye.defen.writable=False
        form=crud.create(db.zuoye,next=request.url)
      #  db.zuoye.zuozhe.default=None
        db.zuoye.keshi.default=None
        db.zuoye.defen.writable=True
    return dict(form=form)
示例#20
0
文件: default.py 项目: chugle/myapp
def zuoye():
    zuozhe=auth.user_id
    keshi_id=request.args[0]
    crud=Crud(db)
    if db.zuoye((db.zuoye.zuozhe==zuozhe)&(db.zuoye.keshi==keshi_id)):
        db.zuoye.defen.writable=False
        zuoye_id=db.zuoye((db.zuoye.zuozhe==zuozhe)&(db.zuoye.keshi==keshi_id)).id
        form=crud.update(db.zuoye,zuoye_id,deletable=False,next=request.url)
        db.zuoye.defen.writable=True
    else:
        db.zuoye.zuozhe.default=zuozhe
        db.zuoye.keshi.default=keshi_id
        db.zuoye.defen.writable=False
        form=crud.create(db.zuoye,next=request.url)
      #  db.zuoye.zuozhe.default=None
        db.zuoye.keshi.default=None
        db.zuoye.defen.writable=True
    return dict(form=form)
示例#21
0
def crud():
    tablename = request.args(0)
    action = request.args(1)
    record_id = request.get_vars['id']
    
    crud_ = Crud(shotdb)
    crud_.settings.controller  = 'config'
    crud_.settings.create_next = URL('config_event')
    crud_.settings.update_next = URL('config_event')
    crud_.settings.update_deletable = False
    crud_.settings.showid = True  
    
    if(action == 'add'):            
        crud_response = crud_.create(tablename)
    elif(action == 'edit' and record_id != None):
        crud_response = crud_.update(tablename, record_id)
    else:
        crud_response = 'Nothing selected!'
    
    return dict(crud_response = crud_response)
示例#22
0
def crudeGeral():

    from gluon.tools import Crud
    crud = Crud(db)

    form = crud.create(db.client)

    id=1

    form2 = crud.read(db.client, id)

    form3 = crud.update(db.client, id)

    form4 = crud.search(db.client)

    #form5 = SQLFORM(db.client, myrecord).process(onsuccess=auth.archive)

    #form5 = crud.update(db.mytable, myrecord, onaccept=auth.archive)

    return dict(form=form,form2=form2,form3=form3,form4=form4)
示例#23
0
def form_y_kien_du_thao():
	vb_du_thao=request.vars.vbdt
	div = DIV(_id='hoi_dap')
	div.append(DIV(H2('Gửi ý kiến đóng góp',_class="title_box"),_class="tinlienquan"))
	
	from gluon.tools import Recaptcha
	public_key='6LdtT_YSAAAAALCH4vbHKl1yjqvhB80JZh1J21Lv'
	private_key='6LdtT_YSAAAAAI6XnBMNNWwSkJeSYtbP_-kW5HUH' ### provided by recaptcha.net
	
	gop_y_du_thao = cms.define_table(tablename ='gop_y_du_thao',migrate=True)
	gop_y_du_thao.r_gop_y_du_thao.writable=False
	gop_y_du_thao.r_gop_y_du_thao.readable=False
	gop_y_du_thao.r_gop_y_du_thao.default=vb_du_thao
	from gluon.tools import Crud
	crud = Crud(cms.db)


	form=crud.create(gop_y_du_thao) 
	form[0].insert(-1, TR('', Recaptcha(request,public_key,private_key,options = "lang:'en', theme:'clean'"))) 
	div.append(form)
	return div
示例#24
0
def crud():
    tablename = request.args(0)
    action = request.args(1)
    id_ = request.args(2)
    
    if session.crud and session.crud.return_page:
        return_page = session.crud.return_page
    else:
        return_page = URL('admin_', 'manage_users')
    
    crud = Crud(shotdb)
    crud.settings.controller = 'admin_'
    crud.settings.create_next = return_page
    crud.settings.update_next = return_page
    crud.settings.update_deletable = True
    crud.settings.showid = True   
    
    if(action == 'add'):
        crud_response = crud.create(tablename)
        
    elif(action == 'edit' and id_ != None):
        onaccept = None
        if tablename == 'auth_user':
            shotdb['auth_user']['registration_key'].writable = True
            
        elif tablename == 'config':
            crud.settings.update_deletable = False
            shotdb['config']['name'].writable = False
            
            # update the configuration object, drop the passed argument form
            onaccept = lambda form: config.update(shotdb)

        crud_response = crud.update(tablename, id_, onaccept = onaccept)    
            
    else:
        crud_response = 'Nothing selected!'
    
    return dict(crud_response = crud_response)
示例#25
0
def createpost():
    from gluon.tools import Crud
    crud = Crud(db)
    form = crud.create(db.blogpost) if auth.user else None
    return dict(form=form)