def list(self): site = Site.load(self.request.matchdict.get('site_id')) self.forbid_if(not site or str(site.company.enterprise_id) != str(self.enterprise_id)) return { 'site' : site, 'contents' : Content.find_by_site(site) }
def test_content(self): content_id = content_create_new(self) cnt = Content.load(content_id) R = self.get('/ecom/content/%s/catalog_content?content_name=%s' % (cnt.name, cnt.name)) assert R.status_int == 200 R.mustcontain(cnt.name) R.mustcontain(str(self.site.site_id)) content_delete_new(content_id)
def test_page(self): content_id = content_create_new(self) cnt = Content.load(content_id) R = self.get('/ecom/page/content?content_name=%s' % cnt.name) assert R.status_int == 200 R.mustcontain(cnt.name) R.mustcontain(self.site.site_id) content_delete_new(content_id)
def content(self): page = self.request.matchdict.get("page", "content") params = self.params() params["content_name"] = content_name = self.request.matchdict.get("content_name") content = Content.find_by_name(self.request.ctx.site, content_name) if content: (params["seo_title"], params["seo_keywords"], params["seo_description"]) = SmartSeo.obj_seo( content, self.request.ctx.site ) return self.render(page, params)
def _edit_impl(self): site_id = self.request.matchdict.get('site_id') site = Site.load(site_id) self.forbid_if(not site or str(site.company.enterprise_id) != str(self.enterprise_id)) content_id = self.request.matchdict.get('content_id') if content_id: content = Content.load(content_id) self.forbid_if(not content or str(content.site.company.enterprise_id) != str(self.enterprise_id) or str(content.site_id) != str(site_id)) else: content = Content() content.site_id = site_id return { 'site' : site, 'content' : content, 'companies' : util.select_list(Company.find_all(self.enterprise_id), 'company_id', 'name'), 'campaigns' : util.select_list(Campaign.find_all(self.enterprise_id), 'campaign_id', 'name') }
def content_create_new(self_): R = self_.get('/cms/content/new/%s' % self_.site.site_id) assert R.status_int == 200 R.mustcontain('New Content Block') f = R.forms['frm_content'] assert f['content_id'].value == '' f.set('name', 'nosetest.content.0') f.set('data', "${request.GET['content_name']} ${request.ctx.site.site_id}") R = f.submit('submit') assert R.status_int == 302 R = R.follow() assert R.status_int == 200 f = R.forms['frm_content'] R.mustcontain('Edit Content Block') content_id = f['content_id'].value assert f['content_id'].value != '' content = Content.load(content_id) return content.content_id
def aloha_editable_content(request, content_name): from pvscore.model.cms.content import Content site = request.ctx.site content = Content.find_by_name(site, content_name, False) if content: editable_id = content_name.replace('.', '_') html = literal(""" <div id="editable_{editable_id}"> {val} </div> <input type="hidden" id="editable_{editable_id}_type" value="content"/> <input type="hidden" id="editable_{editable_id}_name" value="{name}"/> <input type="hidden" id="editable_{editable_id}_content_id" value="{content_id}"/> <script type="text/javascript"> Aloha.ready( function() {{ Aloha.jQuery('#editable_{editable_id}').aloha(); Aloha.bind('aloha-editable-deactivated', pvs_aloha_onsave); }} ); </script>""".format(editable_id=editable_id, content_id=content.content_id, name=content_name, val=content.render(request=request) if content else '')) return html
def content_delete_new(content_id): content = Content.load(content_id) assert content != None content.delete() transaction.commit()
def save_ajax(self): """ KB: [2013-03-04]: Only save the content and maybe the name. Useful via ajax from aloha """ content = Content.load(self.request.POST.get('content_id')) if not content: content = Content() content.user_created = self.request.ctx.user.user_id else: self.forbid_if(content.site.company.enterprise_id != self.enterprise_id) content.bind(self.request.POST) content.save() content.flush() content.invalidate_caches() return 'True'
def save(self): content = Content.load(self.request.POST.get('content_id')) if not content: content = Content() content.user_created = self.request.ctx.user.user_id else: self.forbid_if(content.site.company.enterprise_id != self.enterprise_id) content.bind(self.request.POST, True) content.save() content.flush() content.invalidate_caches() self.flash('Successfully saved %s.' % (content.content_id)) return HTTPFound('/cms/content/edit/%s/%s' % (content.site_id, content.content_id))