def filemanager(): from collections import OrderedDict last_visit_root_name = '' if 'last_root' in request.cookies: last_root_id = request.cookies['last_root'] else: last_root_id = '' filemanager_company_list = OrderedDict() for user_company in g.user.employments: if user_company.has_rights(UserCompany.RIGHT_AT_COMPANY.FILES_BROWSE) == True: filemanager_company_list[user_company.company_id] = File.folder_dict(user_company.company, {'can_upload': FilemanagerRights( company=user_company.company_id).action_is_allowed( FilemanagerRights.ACTIONS[ 'UPLOAD'])}) for user_company in g.user.employments: if user_company.company.own_portal: company_membership_in_portal = db(MemberCompanyPortal, portal_id=user_company.company.own_portal.id). \ filter( MemberCompanyPortal.company_id != user_company.company.id and MemberCompanyPortal.status == 'ACTIVE') \ .join(Company).filter(Company.status == 'ACTIVE').all() for company_membership in company_membership_in_portal: if company_membership.company_id not in filemanager_company_list: filemanager_company_list[company_membership.company_id] = File.folder_dict( company_membership.company, { 'can_upload': FilemanagerRights( company=company_membership.company_id).action_is_allowed( FilemanagerRights.ACTIONS[ 'UPLOAD'])}) # filemanager_company_list.sort(key=lambda k: k['name']) file_manager_called_for = request.args[ 'file_manager_called_for'] if 'file_manager_called_for' in request.args else '' file_manager_on_action = jsonmodule.loads( request.args['file_manager_on_action']) if 'file_manager_on_action' in request.args else {} file_manager_default_action = request.args[ 'file_manager_default_action'] if 'file_manager_default_action' in request.args else 'download' get_root = request.args[ 'get_root'] if 'get_root' in request.args else None if get_root: root = Company.get(get_root) last_visit_root_name = (root.name) if root else '' last_root_id = root.journalist_folder_file_id if root else '' err = True if len(filemanager_company_list) == 0 else False return render_template('filemanager.html', filemanager_company_list=json.dumps([v for k, v in filemanager_company_list.items()]), err=err, last_visit_root=last_visit_root_name.replace( '"', '_').replace('*', '_').replace('/', '_').replace('\\', '_').replace('\'', '_'), last_root_id=last_root_id, file_manager_called_for=file_manager_called_for, file_manager_on_action=file_manager_on_action, file_manager_default_action=file_manager_default_action)
def filemanager(): from collections import OrderedDict from profapp.models.company import UserCompany last_visit_root_name = '' if 'last_root' in request.cookies: last_root_id = request.cookies['last_root'] else: last_root_id = '' filemanager_company_list = OrderedDict() file_manager_called_for = request.args.get('file_manager_called_for', '') for company in g.user.companies_employer_active: if UserCompany.get_by_user_and_company_ids( company_id=company.id).has_rights( RIGHT_AT_COMPANY.FILES_BROWSE): filemanager_company_list[company.id] = File.folder_dict( company, { 'can_upload': EmployeeHasRightAtCompany( RIGHT_AT_COMPANY.FILES_UPLOAD).check( company_id=company.id) }) file_manager_on_action = jsonmodule.loads( request.args['file_manager_on_action'] ) if 'file_manager_on_action' in request.args else {} file_manager_default_action = request.args[ 'file_manager_default_action'] if 'file_manager_default_action' in request.args else 'download' get_root = request.args['get_root'] if 'get_root' in request.args else None if get_root: root = Company.get(get_root) last_visit_root_name = (root.name) if root else '' last_root_id = root.journalist_folder_file_id if root else '' err = True if len(filemanager_company_list) == 0 else False return render_template( 'filemanager.html', filemanager_company_list=json.dumps( [v for k, v in filemanager_company_list.items()]), err=err, last_visit_root=last_visit_root_name.replace('"', '_').replace( '*', '_').replace('/', '_').replace('\\', '_').replace('\'', '_'), last_root_id=last_root_id, file_manager_called_for=file_manager_called_for, file_manager_on_action=file_manager_on_action, file_manager_default_action=file_manager_default_action)
def filemanager(): from collections import OrderedDict from profapp.models.company import UserCompany last_visit_root_name = '' if 'last_root' in request.cookies: last_root_id = request.cookies['last_root'] else: last_root_id = '' filemanager_company_list = OrderedDict() file_manager_called_for = request.args.get('file_manager_called_for', '') for company in g.user.companies_employer_active: if UserCompany.get_by_user_and_company_ids(company_id=company.id).has_rights(RIGHT_AT_COMPANY.FILES_BROWSE): filemanager_company_list[company.id] = File.folder_dict( company, {'can_upload': EmployeeHasRightAtCompany(RIGHT_AT_COMPANY.FILES_UPLOAD).check( company_id=company.id)}) file_manager_on_action = jsonmodule.loads( request.args['file_manager_on_action']) if 'file_manager_on_action' in request.args else {} file_manager_default_action = request.args[ 'file_manager_default_action'] if 'file_manager_default_action' in request.args else 'download' get_root = request.args[ 'get_root'] if 'get_root' in request.args else None if get_root: root = Company.get(get_root) last_visit_root_name = (root.name) if root else '' last_root_id = root.journalist_folder_file_id if root else '' err = True if len(filemanager_company_list) == 0 else False return render_template('filemanager.html', filemanager_company_list=json.dumps([v for k, v in filemanager_company_list.items()]), err=err, last_visit_root=last_visit_root_name.replace( '"', '_').replace('*', '_').replace('/', '_').replace('\\', '_').replace('\'', '_'), last_root_id=last_root_id, file_manager_called_for=file_manager_called_for, file_manager_on_action=file_manager_on_action, file_manager_default_action=file_manager_default_action)
def filemanager(): last_visit_root_name = '' if 'last_root' in request.cookies: last_root_id = request.cookies['last_root'] else: last_root_id = '' library = [] members, main_companies = Company.get_members_for_company() uniq = set() for n, user_company in enumerate(g.user.employer_assoc): if user_company.has_rights(UserCompany.RIGHT_AT_COMPANY.FILES_BROWSE): library.insert( n, File.folder_dict( user_company.employer, { 'can_upload': File.if_action_allowed(File.ACTIONS['upload'], user_company.company_id) })) uniq.update({user_company.employer.name}) if user_company.employer.journalist_folder_file_id == last_root_id: last_visit_root_name = user_company.employer.name + " files" if user_company.employer.name in members: for member in members[user_company.employer.name]: if member.company.name not in uniq and member.company.name not in main_companies: library.append( File.folder_dict( member.company, { 'can_upload': File.if_action_allowed( File.ACTIONS['upload'], member.company.id) })) uniq.update({member.company.name}) if member.company.journalist_folder_file_id == last_root_id: last_visit_root_name = member.company.name + " files" # library.sort(key=lambda k: k['name']) file_manager_called_for = request.args[ 'file_manager_called_for'] if 'file_manager_called_for' in request.args else '' file_manager_on_action = jsonmodule.loads( request.args['file_manager_on_action'] ) if 'file_manager_on_action' in request.args else {} file_manager_default_action = request.args[ 'file_manager_default_action'] if 'file_manager_default_action' in request.args else 'download' get_root = request.args['get_root'] if 'get_root' in request.args else None if get_root: root = Company.get(get_root) last_visit_root_name = (root.name + " files") if root else '' last_root_id = root.journalist_folder_file_id if root else '' err = True if len(library) == 0 else False return render_template( 'filemanager.html', library=json.dumps(library), err=err, last_visit_root=last_visit_root_name.replace('"', '_').replace( '*', '_').replace('/', '_').replace('\\', '_').replace('\'', '_'), last_root_id=last_root_id, file_manager_called_for=file_manager_called_for, file_manager_on_action=file_manager_on_action, file_manager_default_action=file_manager_default_action)