예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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'
예제 #4
0
 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))
예제 #5
0
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
예제 #6
0
 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')
         }
예제 #7
0
def content_delete_new(content_id):
    content = Content.load(content_id)
    assert content != None
    content.delete()
    transaction.commit()