Exemple #1
0
class FilemanagerMixin(object):
    def dispatch(self, request, *args, **kwargs):
        params = dict(request.GET)
        params.update(dict(request.POST))

        self.fm = Filemanager()
        if 'path' in params and len(params['path'][0]) > 0:
            self.fm.update_path(params['path'][0])
        if 'popup' in params:
            self.popup = params['popup']

        return super(FilemanagerMixin, self).dispatch(request, *args, **kwargs)

    def get_context_data(self, *args, **kwargs):
        context = super(FilemanagerMixin,
                        self).get_context_data(*args, **kwargs)

        self.fm.patch_context_data(context)

        if hasattr(self, 'popup'):
            context['popup'] = self.popup

        if hasattr(self, 'extra_breadcrumbs') and isinstance(
                self.extra_breadcrumbs, list):
            context['breadcrumbs'] += self.extra_breadcrumbs

        return context
class FilemanagerMixin(object):
    def dispatch(self, request, *args, **kwargs):
        params = dict(request.GET)
        params.update(dict(request.POST))

        self.fm = Filemanager()
        if 'path' in params and len(params['path'][0]) > 0:
            self.fm.update_path(params['path'][0])
        if 'popup' in params:
            self.popup = params['popup']

        return super(FilemanagerMixin, self).dispatch(request, *args, **kwargs)

    def get_context_data(self, *args, **kwargs):
        context = super(FilemanagerMixin, self).get_context_data(*args, **kwargs)

        self.fm.patch_context_data(context)

        if hasattr(self, 'popup'):
            context['popup'] = self.popup

        if hasattr(self, 'extra_breadcrumbs') and isinstance(self.extra_breadcrumbs, list):
            context['breadcrumbs'] += self.extra_breadcrumbs

        return context
Exemple #3
0
def connector(request):
    fm = Filemanager()
    response = {
        "data": [],
        "msg": {
            "query": "",
            "params": [None, None],
        },
        "status": 1,
    }
    if request.POST:
        action = request.POST.get('action')
        path = request.POST.get('path')
        fm.update_path(path[1:])
        if action == "getfolder":
            response['data'] = fm.directory_list()
            return JsonResponse(response)
        elif action == "uploadfile":
            files = request.FILES
            if files and path:
                response['msg']['params'][0] = 0
                response['msg']['params'][1] = len(files)
                for name in files:
                    f = files.get(name, None)
                    upload_name = fm.upload_file(f)
                    if upload_name:
                        response['msg']['params'][0] += 1
                response['msg']['query'] = "BE_UPLOADALL_UPLOADS %s / %s"
        elif action == 'newfolder':
            folder_name = fm.create_directory(request.POST.get('name'))
            if folder_name != '' and folder_name != None:
                response['data'] = {path: "/", 'namefile': folder_name}
                response['msg']['query'] = "BE_NEW_FOLDER_CREATED %s"
                response['msg']['params'] = ['/%s/' % folder_name]
        elif action == 'renamefile':
            nameold = request.POST.get('nameold')
            name = request.POST.get('name')
            rename = fm.rename(nameold, name)
            if rename:
                response['data'] = {
                    'newnamefile': rename,
                    'odlnamefile': nameold
                }
                response['msg']['params'] = "BE_RENAME_MODIFIED"
        elif action == 'deletefile':
            names = request.POST.getlist('name[]')
            for name in names:
                delete_name = fm.delete(name)
                if delete_name:
                    response['data'].append({
                        'namefile': delete_name,
                        'status': 1,
                        'params': [],
                        'query': "BE_DELETE_DELETED"
                    })
                else:
                    response['msg']['params'] = "BE_DELETE_NOT_EMPTY"
                    response['msg']['query'] = name + ' is not empty'
                    response['status'] = 0
    return JsonResponse(response)
Exemple #4
0
    def dispatch(self, request, *args, **kwargs):
        params = dict(request.GET)
        params.update(dict(request.POST))

        self.fm = Filemanager()
        if 'path' in params and len(params['path'][0]) > 0:
            self.fm.update_path(params['path'][0])
        if 'popup' in params:
            self.popup = params['popup']

        return super(FilemanagerMixin, self).dispatch(request, *args, **kwargs)
    def dispatch(self, request, *args, **kwargs):
        params = dict(request.GET)
        params.update(dict(request.POST))

        self.fm = Filemanager()
        if 'path' in params and len(params['path'][0]) > 0:
            self.fm.update_path(params['path'][0])
        if 'popup' in params:
            self.popup = params['popup']

        return super(FilemanagerMixin, self).dispatch(request, *args, **kwargs)
class FilemanagerTest(TestCase):
    def setUp(self):
        self.fm = Filemanager()

    def test_basic_path(self):
        self.assertEqual(self.fm.path, '')
        self.assertEqual(self.fm.abspath, 'uploads')

    def test_different_path(self):
        self.fm.update_path('another/folder/')
        self.assertEqual(self.fm.path, 'another/folder')
        self.assertEqual(self.fm.abspath, 'uploads/another/folder')

    def test_path_from_root(self):
        self.fm.update_path('/folder/')
        self.assertEqual(self.fm.path, 'folder')
        self.assertEqual(self.fm.abspath, 'uploads/folder')

    def test_get_breadcrumbs(self):
        self.assertEqual([{'label': 'Filemanager', 'path': ''}], self.fm.get_breadcrumbs())
Exemple #7
0
class FilemanagerTest(TestCase):
    def setUp(self):
        self.fm = Filemanager()

    def test_basic_path(self):
        self.assertEqual(self.fm.path, '')
        self.assertEqual(self.fm.abspath, 'uploads')

    def test_different_path(self):
        self.fm.update_path('another/folder/')
        self.assertEqual(self.fm.path, 'another/folder')
        self.assertEqual(self.fm.abspath, 'uploads/another/folder')

    def test_path_from_root(self):
        self.fm.update_path('/folder/')
        self.assertEqual(self.fm.path, 'folder')
        self.assertEqual(self.fm.abspath, 'uploads/folder')

    def test_get_breadcrumbs(self):
        self.assertEqual([{
            'label': 'Filemanager',
            'path': ''
        }], self.fm.get_breadcrumbs())
Exemple #8
0
 def setUp(self):
     self.fm = Filemanager()
 def setUp(self):
     self.fm = Filemanager()