def test_site_config_success(config, get_csrf_request_with_db, dbsession): from autonomie.views.admin.main.site import ( AdminSiteView, MAIN_SITE_ROUTE, ) from autonomie.models.config import ConfigFiles config.add_route(MAIN_SITE_ROUTE, MAIN_SITE_ROUTE) image = file(os.path.join(DATASDIR, 'entete5_1.png'), 'r') datas = image.read() size = len(datas) image.seek(0) appstruct = { 'welcome': 'testvalue', 'logo': { 'fp': image, 'mimetype': 'image/png', 'uid': '1', 'name': 'F.png', 'filename': 'F.png', 'data': image, 'size': size } } view = AdminSiteView(get_csrf_request_with_db()) view.submit_success(appstruct) dbsession.flush() assert get_config()['welcome'] == u'testvalue' assert ConfigFiles.get('logo.png').name == 'F.png' assert ConfigFiles.get('logo.png').getvalue() == datas
def before(self, form): """ Add the appstruct to the form """ config_dict = self.request.config logo = ConfigFiles.get('logo.png') appstruct = get_config_appstruct(self.request, config_dict, logo) form.set_appstruct(appstruct) tinymce.need()
def before(self, form): """ Add the appstruct to the form """ config_dict = self.request.config logo = ConfigFiles.get('logo.png') appstruct = {} if logo is not None: appstruct["logo"] = public_file_appstruct(self.request, 'logo.png', logo) appstruct['welcome'] = config_dict.get('welcome', '') form.set_appstruct(appstruct)
def _add_pdf_img_to_appstruct(self, data_type, appstruct): for file_type in ("header_img", "footer_img"): file_name = "%s_%s.png" % (data_type, file_type) file_model = ConfigFiles.get(file_name) if file_model is not None: appstruct[file_type] = { 'uid': file_model.id, 'filename': file_model.name, 'preview_url': self.request.route_url( 'public', name=file_name, ) }
def test_site_config_success(config, get_csrf_request_with_db, dbsession): from autonomie.views.admin.main.site import ( AdminSiteView, MAIN_SITE_ROUTE, ) from autonomie.models.config import ConfigFiles config.add_route(MAIN_SITE_ROUTE, MAIN_SITE_ROUTE) image = file(os.path.join(DATASDIR, 'entete5_1.png'), 'r') datas = image.read() size = len(datas) image.seek(0) appstruct = { 'welcome': 'testvalue', 'logo': {'fp': image, 'mimetype': 'image/png', 'uid': '1', 'name': 'F.png', 'filename': 'F.png', 'data': image, 'size': size} } view = AdminSiteView(get_csrf_request_with_db()) view.submit_success(appstruct) dbsession.flush() assert get_config()['welcome'] == u'testvalue' assert ConfigFiles.get('logo.png').name == 'F.png' assert ConfigFiles.get('logo.png').getvalue() == datas
def before(self, form): appstruct = {} file_name = u"competence_header.png" file_model = ConfigFiles.get(file_name) if file_model is not None: appstruct['header_img'] = { 'uid': file_model.id, 'filename': file_model.name, 'preview_url': self.request.route_url( 'public', name=file_name, ) } form.set_appstruct(appstruct)
def fetch_resource(uri, rel): """ Callback used by pisa to locally retrieve ressources giving the uri if the uri starts with /files : we're looking for a db file else we're looking for a static resource """ f_regex_group = FILEPATH_REGX.match(uri) pf_regex_group = PUBLIC_FILES_REGX.match(uri) if f_regex_group is not None: # C'est un modèle File que l'on doit renvoyer filename = f_regex_group.group('fileid') # On récupère l'objet fichier from autonomie.models.files import File fileobj = File.get(filename) resource = get_db_file_resource(fileobj) elif pf_regex_group is not None: key = pf_regex_group.group('filekey') from autonomie.models.config import ConfigFiles fileobj = ConfigFiles.get(key) resource = get_db_file_resource(fileobj) else: # C'est un fichier statique request = get_current_request() introspector = request.registry.introspector if uri.startswith('/'): uri = uri[1:] mainuri, sep, relative_filepath = uri.partition('/') mainuri = mainuri + '/' resource = '' for staticpath in introspector.get_category('static views'): if mainuri == staticpath['introspectable']['name']: basepath = staticpath['introspectable']['spec'] resource = join(basepath, relative_filepath).encode('utf-8') if ':' in resource: package, filename = resource.split(':') resource = pkg_resources.resource_filename( package, filename, ) break return resource
def before(self, form): """ Add appstruct to the current form object """ query = ActivityType.query() types = query.filter(ActivityType.active==True) modes = ActivityMode.query() query = ActivityAction.query() query = query.filter(ActivityAction.parent_id==None) actions = query.filter(ActivityAction.active==True) appstruct = { 'main': {}, 'types': [type_.appstruct() for type_ in types], 'modes': [mode.appstruct() for mode in modes], 'actions': [ { 'id': act.id, 'label': act.label, 'children': [child.appstruct() for child in act.children], } for act in actions] } accompagnement_file = ConfigFiles.get('accompagnement_header.png') if accompagnement_file is not None: appstruct['main']['header'] = { 'uid': accompagnement_file.id, 'filename': accompagnement_file.name, 'preview_url': self.request.route_url( 'public', name='accompagnement_header.png', ) } form.set_appstruct(appstruct) populate_actionmenu(self.request)