예제 #1
0
 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)
         }
예제 #2
0
 def file_save(self):
     site = Site.load(self.request.matchdict.get('site_id'))
     self.forbid_if(site.company.enterprise_id != self.enterprise_id)
     asset = Asset.create_new(site, self.enterprise_id, self.request)
     asset.bind(self.request.POST, True)
     asset.save()
     asset.flush()
     self.flash('Saved image %s' % asset.name)
     return HTTPFound('/cms/content/file/edit/%s/%s' % (site.site_id, asset.id))
예제 #3
0
def _remember_site(request):
    if 'site_id' in request.session:
        request.ctx.site = Site.load(request.session['site_id'])
    else:
        #if '__sid' in request.params:
        #    request.ctx.site = Site.find_by_host(request.params['__sid'])
        #else:
        request.ctx.site = Site.find_by_host(request.host)
        if request.ctx.site:
            request.session['site_id'] = request.ctx.site.site_id

    if request.ctx.site:
        return True
예제 #4
0
파일: site.py 프로젝트: anonymoose/pvscore
 def save(self):
     site = Site.load(self.request.POST.get('site_id'))
     if not site:
         site = Site()
         site.user_created = self.request.ctx.user.user_id
     else:
         self.forbid_if(site.company.enterprise_id != self.enterprise_id)
     site.bind(self.request.POST, True)
     site.save()
     site.flush()
     #if not os.path.isdir(site.site_full_directory):
     #    site.create_dir_structure()
     self.flash('Successfully saved %s.' % (site.domain))
     return HTTPFound('/cms/site/edit/%s' % site.site_id)
예제 #5
0
 def _file_edit_impl(self):
     site = Site.load(self.request.matchdict.get('site_id'))
     self.forbid_if(site.company.enterprise_id != self.enterprise_id)
     asset_id = self.request.matchdict.get('asset_id')
     if asset_id:
         asset = Asset.load(asset_id)
         self.forbid_if(not asset
                        or str(asset.enterprise_id) != str(self.enterprise_id))
     else:
         asset = Asset()
     return {
         'site' : site,
         'asset' : asset
         }
예제 #6
0
파일: site.py 프로젝트: anonymoose/pvscore
 def _edit_impl(self):
     site_id = self.request.matchdict.get('site_id')
     self.session['last_site_id'] = site_id
     if site_id:
         site = Site.load(site_id)
         self.forbid_if(not site or str(site.company.enterprise_id) != str(self.enterprise_id))
     else:
         site = Site()
     return {
         'site' : site,
         'shipping_methods' : Site.get_shipping_methods(),
         'tax_methods' : Site.get_tax_methods(),
         '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 _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')
         }
예제 #8
0
    def _create_new(self):
        R = self.get('/cms/site/new')
        assert R.status_int == 200
        R.mustcontain('New Site')
        f = R.forms['frm_site']
        self.assertEqual(f['site_id'].value, '')
        f.set('domain', 'testsite.com')
        f.set('domain_alias0', 'testsite0.com')
        f.set('seo_title', 'Test Site')
        f.set('robots_txt', """User-agent: *
Disallow: /cms/cart/add/*""")

        R = f.submit('submit')
        self.assertEqual(R.status_int, 302)
        R = R.follow()
        assert R.status_int == 200
        f = R.forms['frm_site']
        R.mustcontain('Edit Site')
        site_id = f['site_id'].value
        self.assertNotEqual(f['site_id'].value, '')
        site = Site.load(site_id)
        log.debug(site)
        return site_id
예제 #9
0
 def _delete_new(self, site_id):
     site = Site.load(site_id)
     self.assertNotEqual(site, None)
     site.delete()
     self.commit()
예제 #10
0
 def file_list(self):
     site = Site.load(self.request.matchdict.get('site_id'))
     self.forbid_if(site.company.enterprise_id != self.enterprise_id)
     return {
         'contents' : Asset.find_for_object(site)
         }