def search(): dcontent = cms.define_table(tablename ='dcontent') txt = request.vars.key_search search_folder = request.args(0) if request.vars.search_select: search_folder = request.vars.search_select query = dcontent.textcontent.like('%'+str(txt)+'%') if search_folder: from plugin_cms import CmsFolder folder = CmsFolder().get_folder(search_folder) query &= (dcontent.folder.belongs(CmsFolder().get_folders(folder))) rows= cms.db(query).select() div = DIV(_id='list_news') if len(rows)>0: div.append(H2(len(rows),T(' Kết quả tìm kiếm cho từ khóa: "'),request.vars.key_search,'"',_id='title_search_')) ul=UL(_class='wr_search') for row in rows: ulr_link ='' if row.dtable == 'san_pham': san_pham = cms.define_table('san_pham') sp = cms.db.san_pham[row.table_id] if sp: ulr_link = URL(c='portal',f='read',args=[sp.r_folder.name if sp.r_folder else '','san_pham',sp.link]) if row.dtable == 'cong_ty': cong_ty = cms.define_table('cong_ty') sp = cms.db.cong_ty[row.table_id] if sp: ulr_link = URL(c='portal',f='folder',args=[sp.folder.name]) if row.dtable == 'tintuc': tintuc = cms.define_table('tintuc') sp = cms.db.tintuc[row.table_id] if sp: ulr_link = URL(c='portal',f='read',args=[sp.folder.name,'tintuc',sp.link]) if row.dtable == 'doanh_nghiep': doanh_nghiep = cms.define_table('doanh_nghiep') sp = cms.db.doanh_nghiep[row.table_id] if sp: ulr_link = URL(c='portal',f='read',args=[sp.folder.name,'doanh_nghiep',sp.link]) code = '<span style=" background: yellow;">'+request.vars.key_search+'</span>' name = row.name.replace(request.vars.key_search,code) # name = name.replace(request.vars.key_search.lower(),code) # name = name.replace(request.vars.key_search.upper(),code) li = LI(A(XML(str(B(T('title_search_'+str(row.dtable))))+": "+name),_href=ulr_link,_class='name')) if row.description: description = row.description.replace(request.vars.key_search,code) li.append(P(XML(description))) ul.append(li) div.append(ul) else: div.append(H2(T('Kết quả tìm kiếm từ khóa: "'),request.vars.key_search,'"',_id='title_page')) div.append(P(T('Không có kết quả nào cho từ khóa này.'))) return div
def giay_moi_event(): try: content = UL(_id='nt-title') from plugin_cms import CmsModel from plugin_cms import CmsFolder cms = CmsModel() cf = CmsFolder() cms.define_table('documents') date_now = request.now.date() rows = cf.get_content( tablename='documents', folder='giay-moi', orderby=cms.db.documents.ngay_ky, query=((cms.db.documents.ngay_ky <= date_now) & (cms.db.documents.ngay_het_han > date_now))) for row in rows: content.append( LI( A('GM ' + str(row.name) + ': ' + str(row.description), _href=URL(a='vbvq', c='portal', f='read', args=[row.folder.name, 'documents', row.link])))) content = str(content) return content except Exception, e: return e
def feed(): from plugin_cms import CmsFolder folder_id = CmsFolder().get_folder() ar_entries =[] entries = CmsFolder().get_rows(folder=request.args(0)) link_page='http://'+request.env.http_host for entry in entries: link = CmsFolder().url_content(entry) description = str(entry.description) if entry.avatar: description = '<a href="'+link_page + str(link)+'"><img>'+str(entry.avatar) +'</img></a>'+ description ar_entries.append(dict(title = entry.name.decode('utf-8'), link = link_page + str(link), description=XML(description.decode('utf-8')), created_on = entry.publish_on)) return '' return dict(title='SOYTE FEED',link=link_page,description='SOYTE.HATINH.GOV.VN', created_on = request.now,entries=ar_entries )
def view_carts(): div = DIV() num_car = 0 tong_tien = 0 carts = '' try: if request.cookies.has_key('cart_shop'): carts = eval(request.cookies['cart_shop'].value) from plugin_cms import CmsModel from plugin_cms import CmsFolder cms = CmsModel() db = cms.db cms.define_table('san_pham') from plugin_app import number_format for cart in carts: cart = eval(cart) row = db((db.san_pham.id == cart['id']) & (db.san_pham.folder == CmsFolder().get_folder( request.args(0)))).select().first() if row: div1 = DIV(_class='list_cart') ul = UL() ul.append(LI(row.name)) ul.append(LI(SPAN('Số lượng: '), cart['num'])) ul.append( LI(SPAN('Giá: '), number_format(row.gia_san_pham), ' VNĐ')) div1.append( DIV(IMG(_src=cms.get_avatar('san_pham', row.avatar), _class='thumbnail'), _class='col-md-4 box_ivinh')) div1.append(DIV(ul, _class='col-md-8 box_ivinh')) div.append(div1) div.append(HR()) tong_tien += int(row.gia_san_pham) * int(cart['num']) num_car += 1 if num_car > 0: p_tong = DIV(SPAN('Tổng tiền: ')) p_tong.append(str(number_format(tong_tien)) + ' VNĐ') div.append(B(p_tong, _class='text-right')) div.append( A('Thanh toán', _href=URL(c='portal', f='folder', args=request.args(0), vars=dict(page='cart')), _class='btn btn-success')) else: div.append('Giỏ hàng trống') except Exception, e: return e
def act_add_cart(): don_hang = cms.define_table('don_hang') don_hang_item = cms.define_table('don_hang_item') don_hang_item = cms.define_table('san_pham') don_hang_gian_hang = cms.define_table('don_hang_gian_hang') gian_hang = [] from plugin_cms import CmsFolder folder_id = CmsFolder().get_folder(request.args(0)) don_hang_id = db.don_hang.insert(auth_user=auth.user_id or '', nguoi_nhan_hang=request.vars.ho_ten, email=request.vars.email, dien_thoai=request.vars.dien_thoai, dia_chi=request.vars.dia_chi, loi_nhan=request.vars.loi_nhan, thanh_toan=request.vars.pttt) carts = eval(request.cookies['cart_shop'].value) for cart in carts: cart = eval(cart) row = db(db.san_pham.id == cart['id']).select().first() if row: if row.r_folder not in gian_hang: gian_hang.append(row.r_folder) db.don_hang_item.insert(r_don_hang=don_hang_id, r_san_pham=cart['id'], so_luong=cart['num'], gia_ban=row.gia_san_pham) if len(gian_hang) > 0: for g in gian_hang: db.don_hang_gian_hang.insert(folder_gian_hang=g, r_status=1, r_don_hang=don_hang_id) response.cookies['cart_shop'] = 'invalid' response.cookies['cart_shop']['expires'] = -10 response.cookies['cart_shop']['path'] = '/' div = DIV(B( 'Đặt hàng thành công. Chúng tôi sẽ liên hệ với bạn trong thời gian sớm nhất để xác nhận đơn hàng. Xin cảm ơn! ' ), _class='bg-info text-center') div.append( DIV(BR(), 'Chuyển hướng về trang chủ sau 3 giây.', _class='bg-info text-center')) scr = ''' <META http-equiv="refresh" content="3;URL=%s"> ''' % (URL(c='portal', f='folder', args=['home'])) div.append(XML(scr)) return div
def widget_danh_muc_san_pham(field, value): from plugin_cms import Cms from plugin_cms import CmsFolder cms = Cms() rows = cms.get_content(tablename='cong_ty') widget = UL(_id='widget_danh_muc_san_pham') for row in rows[0].linh_vuc: if value: if row == value: widget.append( LI((INPUT(_type='radio', _name='folder', _value=row, _checked=True), SPAN(CmsFolder().folder_name_by_id(row))))) else: widget.append( LI((INPUT(_type='radio', _name='folder', _value=row), SPAN(CmsFolder().folder_name_by_id(row))))) else: widget.append( LI((INPUT(_type='radio', _name='folder', _value=row), SPAN(CmsFolder().folder_name_by_id(row))))) return widget
def act_delete(): try: table_name = request.vars.table_name table_id = request.vars.table_id print table_id, table_name table = cms.define_table(table_name) cms.db(table.id == table_id).delete() dcontent = cms.define_dcontent() from plugin_cms import CmsFolder cms.db((dcontent.folder == CmsFolder().get_folder(request.args(0))) & (dcontent.table_id == table_id) & (dcontent.dtable == table_name)).delete() response.flash = T('Xoa thanh cong') return XML('<META http-equiv="refresh" content="2;URL=%s">' % (URL(c='portal', f='folder.html', args=request.args(0)))) except Exception, e: print e
def widget_number_name(field, value): request = current.request if not value: from plugin_cms import Cms from plugin_cms import CmsFolder folder_id = CmsFolder().get_folder(request.args(2)) cms = Cms() document = cms.define_table('documents', True) row = cms.db(document.folder == folder_id).select().last() if row: value = row.name number = '' name = '' i = 0 for va in value: if i == 0: if not va == '/': number += va else: i += 1 else: name += va value = str(int(number) + 1) + '/' + name widget = DIV(INPUT(_type='text', _id='name', _name='name', _value=value), _class='so_kyhieu') return widget
def page(): from plugin_cms import CmsFolder content = CmsFolder().html() return dict(content=content)
def add_cart(): pid = request.vars.pid ar_carts = [] if request.cookies.has_key('cart_shop'): carts = eval(request.cookies['cart_shop'].value) i = 0 for cart in carts: cart = eval(cart) if cart['id'] == pid: ar_carts.append( str({ 'id': str(cart['id']), 'num': str(int(cart['num']) + 1) })) i += 1 else: ar_carts.append( str({ 'id': str(cart['id']), 'num': str(cart['num']) })) if i == 0: ar_carts.append(str({'id': pid, 'num': str(1)})) else: ar_carts.append(str({'id': pid, 'num': str(1)})) response.cookies['cart_shop'] = str(ar_carts) response.cookies['cart_shop']['expires'] = 24 * 3600 response.cookies['cart_shop']['path'] = '/' response.flash = T("Add new cart!") # load view_carts() nhung ko request duoc cookies moi div = DIV() num_car = 0 tong_tien = 0 carts = ar_carts from plugin_cms import CmsModel from plugin_cms import CmsFolder cms = CmsModel() db = cms.db cms.define_table('san_pham') from plugin_app import number_format for cart in carts: cart = eval(cart) row = db((db.san_pham.id == cart['id']) & (db.san_pham.folder == CmsFolder().get_folder( request.args(0)))).select().first() if row: div1 = DIV(_class='list_cart') ul = UL() ul.append(LI(row.name)) ul.append(LI(SPAN('Số lượng: '), cart['num'])) ul.append( LI(SPAN('Giá: '), number_format(row.gia_san_pham), ' VNĐ')) div1.append( DIV(IMG(_src=cms.get_avatar('san_pham', row.avatar), _class='thumbnail'), _class='col-md-4 box_ivinh')) div1.append(DIV(ul, _class='col-md-8 box_ivinh')) div.append(div1) div.append(HR()) tong_tien += int(row.gia_san_pham) * int(cart['num']) num_car += 1 p_tong = DIV(SPAN('Tổng tiền: ')) p_tong.append(str(number_format(tong_tien)) + ' VNĐ') div.append(B(p_tong, _class='text-right')) div.append( A('Thanh toán', _href=URL(c='portal', f='folder', args=request.args(0), vars=dict(page='cart')), _class='btn btn-success')) return div
def view_order(): div = DIV(_id="view_order") num_car = 0 tong_tien = 0 carts ='' if request.cookies.has_key('cart_shop'): carts = eval(request.cookies['cart_shop'].value) from plugin_cms import CmsModel from plugin_cms import CmsFolder cms = CmsModel() db = cms.db cms.define_table('san_pham') from plugin_app import number_format table = TABLE(_class='table') table.append(TR(TH('Sản phẩm'),TH('Số lượng'),TH(''),TH('Giá'),TH(B('Thành tiền')))) for cart in carts: cart = eval(cart) row = db((db.san_pham.id==cart['id'])&(db.san_pham.folder== CmsFolder().get_folder(request.args(0)))).select().first() if row: tong_tien += int(row.gia_san_pham)* int(cart['num']) input_num = INPUT(_type='text',_value=cart['num']) table.append(TR(TD(row.name,': '),TD(input_num),TD(' * '),TD(number_format(row.gia_san_pham),' VNĐ'),TD(B(number_format(tong_tien),' VNĐ')))) div.append(table) num_car +=1 p_tong = DIV(SPAN('Tổng tiền: ')) p_tong.append(str(number_format(tong_tien))+' VNĐ') div.append(B(p_tong,_class='text-right')) form = FORM() div1 = DIV(_class="form-group") div1.append(LABEL('Họ và tên')) div1.append(INPUT(_type='text',_class="form-control",_placeholder="Họ và tên" )) form.append(div1) div1 = DIV(_class="form-group") div1.append(LABEL('Email')) div1.append(INPUT(_type='text',_class="form-control",_placeholder="Email")) form.append(div1) div1 = DIV(_class="form-group") div1.append(LABEL('Điện thoại')) div1.append(INPUT(_type='text',_class="form-control",_placeholder="Điện thoại")) form.append(div1) div1 = DIV(_class="form-group") div1.append(LABEL('Địa chỉ nhận hàng')) div1.append(INPUT(_type='text',_class="form-control",_placeholder="Địa chỉ nhận hàng")) form.append(div1) div1 = DIV(_class="form-group") div1.append(LABEL('Lời nhắn')) div1.append(TEXTAREA(_class="form-control",_rows="3",_placeholder="Lời nhắn")) form.append(div1) div1 = DIV(_class="form-group") div1.append(LABEL('Lời nhắn')) div1.append(TEXTAREA(_class="form-control",_rows="3",_placeholder="Lời nhắn")) form.append(div1) ajax = "ajax('%s', [], 'order_view')"%(URL(f='act_add_cart',args=request.args)) form.append(A('Gửi đặt hàng',_onclick=ajax, _class='btn btn-success')) div.append(form) return div