Exemplo n.º 1
0
from plug_manager_template import create_plug
from rboxfileplug import FileManager
from models import RboxFileConnector
from rboxsinglefileplug import SingleFileManagerDescriptor
from south.modelsinspector import add_introspection_rules


class ResumeFileManagerDescriptor(SingleFileManagerDescriptor):
    """
    A modified version of SingleFileManagerDescriptor for resumes
    """
    pass
    
RboxResumeFilePlug = create_plug(manager=FileManager, descriptor_cls=ResumeFileManagerDescriptor, to=RboxFileConnector)
rboxresumefileplug_introspection_rules = [((RboxResumeFilePlug,),[],{"field_identifier": ["field_identifier",{}],},)]
add_introspection_rules(rboxresumefileplug_introspection_rules, ["filemanager.models.RboxSingleFilePlug"])
Exemplo n.º 2
0
        try:
            rboxfile_connector = RboxFileConnector.objects.get(rbox_file=rbox_file, content_type=self.content_type,
                                                           object_id=self.instance.id, file_field_identifier=self.field_identifier)
            rboxfile_connector.delete()
        except RboxFileConnector.DoesNotExist:
            pass
        return

    def get(self, **kwargs):
        if self.max_count == 1:
            try:
                return self.all()[0]
            except IndexError:
                return None
        else:
            try:
                return super(FileManager,self).get(**kwargs)
            except RboxFile.DoesNotExist:
                raise FileManager.FileDoesNotExist

    def delete(self, **kwargs):
        raise AttributeError("'FileManager' object has no attribute 'delete'")




RboxFilePlug = create_plug(manager=FileManager, to=RboxFileConnector)
    
rboxfileplug_introspection_rules = [((RboxFilePlug,),[],{"field_identifier": ["field_identifier",{}],},)]
add_introspection_rules(rboxfileplug_introspection_rules, ["filemanager.models.RboxFilePlug"])
Exemplo n.º 3
0
        self.max_count = max_count
        self.manager_kwargs = manager_kwargs
        

    def __get__(self, instance, instance_type=None, return_manager=False):
        manager = super(SingleFileManagerDescriptor, self).__get__(instance, instance_type=None)
        if return_manager:
            return manager
        try:
            return manager.all()[0]
        except IndexError:
            return None
        

    def __set__(self, instance, value):
        if instance is None:
            raise AttributeError("Manager must be accessed via instance")
            
        if not isinstance(value, RboxFile):
            raise TypeError("Only accepts a RboxFile object")
            
        manager = self.__get__(instance, return_manager=True)        
        manager.remove(manager.all()[0])
        manager.add(value)


RboxSingleFilePlug = create_plug(manager=FileManager, descriptor_cls=SingleFileManagerDescriptor, to=RboxFileConnector)

rboxsinglefileplug_introspection_rules = [((RboxSingleFilePlug,),[],{"field_identifier": ["field_identifier",{}],},)]
add_introspection_rules(rboxsinglefileplug_introspection_rules, ["filemanager.models.RboxSingleFilePlug"])