Changeset 1539 in main for trunk


Ignore:
Timestamp:
07/20/12 13:39:06 (9 years ago)
Author:
pcosquer
Message:

add an optional settings to never delete files

Location:
trunk/openPLM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/plmapp/controllers/document.py

    r1522 r1539  
    233233        if not path.startswith(settings.DOCUMENTS_DIR): 
    234234            raise DeleteFileError("Bad path : %s" % path) 
    235         os.chmod(path, 0700) 
    236         os.remove(path) 
    237         if doc_file.thumbnail: 
    238             doc_file.thumbnail.delete(save=False) 
    239         self._save_histo("File deleted", "file : %s" % doc_file.filename) 
    240         doc_file.delete() 
     235        filename = doc_file.filename 
     236        if getattr(settings, "KEEP_ALL_FILES", False): 
     237            doc_file.deprecated = True 
     238            doc_file.save() 
     239        else: 
     240            os.chmod(path, 0700) 
     241            os.remove(path) 
     242            if doc_file.thumbnail: 
     243                doc_file.thumbnail.delete(save=False) 
     244            doc_file.delete() 
     245        self._save_histo("File deleted", "file : %s" % filename) 
    241246 
    242247    def handle_added_file(self, doc_file): 
     
    424429        if doc_file.locked: 
    425430            self.unlock(doc_file)    
    426         os.chmod(doc_file.file.path, 0700) 
    427         os.remove(doc_file.file.path) 
    428         doc_file.filename = new_file.name 
     431        if getattr(settings, "KEEP_ALL_FILES", False): 
     432            deprecated_df = models.DocumentFile.objects.create( 
     433                    document=self.object, 
     434                    deprecated=True, 
     435                    size=doc_file.size, 
     436                    filename=doc_file.filename, 
     437                    file=models.docfs.save(new_file.name, doc_file.file), 
     438                    thumbnail=doc_file.thumbnail) 
     439        else: 
     440            os.chmod(doc_file.file.path, 0700) 
     441            os.remove(doc_file.file.path) 
     442            if doc_file.thumbnail: 
     443                doc_file.thumbnail.delete(save=False) 
     444        doc_file.file = models.docfs.save(new_file.name, new_file) 
    429445        doc_file.size = new_file.size 
    430         doc_file.file = models.docfs.save(new_file.name, new_file) 
    431446        os.chmod(doc_file.file.path, 0400) 
    432         if doc_file.thumbnail: 
    433             doc_file.thumbnail.delete(save=False) 
    434447        doc_file.save() 
    435448        self._save_histo("Check-in", doc_file.filename) 
  • trunk/openPLM/settings.py

    r1498 r1539  
    209209HIDE_EMAILS = False 
    210210 
     211#: Never delete files. If a user deletes a file, the file is deprecated instead of being deleted. 
     212#: Warning, if set to True, OpenPLM may consume a lot of disk place. 
     213KEEP_ALL_FILES = False 
     214 
    211215COMPANY = "company" 
    212216 
Note: See TracChangeset for help on using the changeset viewer.