Project

General

Profile

« Previous | Next » 

Revision c40b1228

Added by Katja Luther over 2 years ago

ref #6730: only media of descriptions and protologues can be deleted if referenced

View differences:

cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/MediaServiceImpl.java
35 35
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
36 36
import eu.etaxonomy.cdm.model.common.CdmBase;
37 37
import eu.etaxonomy.cdm.model.common.ICdmBase;
38
import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
38 39
import eu.etaxonomy.cdm.model.description.DescriptionBase;
39 40
import eu.etaxonomy.cdm.model.description.IDescribable;
40 41
import eu.etaxonomy.cdm.model.description.MediaKey;
......
169 170
                        updatedObject = handleDeleteMedia(media, textData, description,
170 171
                                (IDescribable)objectToUpdate);
171 172
                    } else {
173
                    	
172 174
                        // this should not be happen, because it is not deletable. see isDeletable
173 175
                        result.setAbort();
174 176
                    }
......
181 183
                }else if (ref instanceof MediaRepresentation){
182 184
                    continue;
183 185
                }else {
186
                	
184 187
                    result.setAbort();
185 188
                }
186 189

  
......
222 225
        MediaDeletionConfigurator mediaConfig = (MediaDeletionConfigurator)config;
223 226
        CdmBase deleteFrom = mediaConfig.getDeleteFrom();
224 227

  
225
        if (mediaConfig.isDeleteFromEveryWhere()){
226
           return result;
227
        }
228
//        if (mediaConfig.isDeleteFromEveryWhere()){
229
//           return result;
230
//        }
228 231
        for (CdmBase ref: references){
229 232
            String message = null;
230 233
            if (ref instanceof MediaRepresentation){
......
263 266
               message = "The media can't be deleted from the database because it is referenced by a mediaspecimen. ("+((MediaSpecimen)ref).getTitleCache()+")";
264 267
               result.setAbort();
265 268
            }else {
266
                message = "The media can't be completely deleted because it is referenced by another " + ref.getUserFriendlyTypeName() ;
269
                message = "The media can't be completely deleted because it is referenced by a " + ref.getUserFriendlyTypeName();
270
                if (ref instanceof IdentifiableEntity) {
271
                	message += ": " + ((IdentifiableEntity)ref).getTitleCache();
272
                }
267 273
                result.setAbort();
268 274
            }
269 275
            if (message != null){

Also available in: Unified diff