RM-664 (Not possible to edit event without changing the name)

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/modules/recordsmanagement/BRANCHES/V2.0@48772 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Tuna Aksoy
2013-04-03 12:48:45 +00:00
parent ccf4f1cd54
commit 8e9dc2deb0
3 changed files with 24 additions and 14 deletions

View File

@@ -87,9 +87,10 @@ public interface RecordsManagementEventService
* *
* @param eventDisplayLabel event display label * @param eventDisplayLabel event display label
* @param eventName event name * @param eventName event name
* @param eventType event type
* @return true if the event can be edited, false otherwise * @return true if the event can be edited, false otherwise
*/ */
boolean canEditEvent(String eventDisplayLabel, String eventName); boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType);
/** /**
* Add an event * Add an event

View File

@@ -145,7 +145,7 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();) for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();)
{ {
RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next(); RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next();
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel)) if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel) == true)
{ {
canCreateEvent = false; canCreateEvent = false;
break; break;
@@ -157,13 +157,14 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
} }
/** /**
* @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#canEditEvent(java.lang.String, java.lang.String) * @see org.alfresco.module.org_alfresco_module_rm.event.RecordsManagementEventService#canEditEvent(java.lang.String, java.lang.String, java.lang.String)
*/ */
@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
public boolean canEditEvent(String eventDisplayLabel, String eventName) public boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType)
{ {
ParameterCheck.mandatoryString("eventDisplayLabel", eventDisplayLabel); ParameterCheck.mandatoryString("eventDisplayLabel", eventDisplayLabel);
ParameterCheck.mandatoryString("eventName", eventName); ParameterCheck.mandatoryString("eventName", eventName);
ParameterCheck.mandatoryString("eventType", eventType);
boolean canEditEvent = true; boolean canEditEvent = true;
@@ -175,11 +176,18 @@ public class RecordsManagementEventServiceImpl implements RecordsManagementEvent
for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();) for (Iterator iterator = getEventMap().values().iterator(); iterator.hasNext();)
{ {
RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next(); RecordsManagementEvent recordsManagementEvent = (RecordsManagementEvent) iterator.next();
if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel)) if (recordsManagementEvent.getDisplayLabel().equalsIgnoreCase(eventDisplayLabel) == true)
{ {
if (recordsManagementEvent.getName().equalsIgnoreCase(eventName)) if (recordsManagementEvent.getName().equalsIgnoreCase(eventName) == true)
{ {
canEditEvent = false; if (recordsManagementEvent.getType().equalsIgnoreCase(eventType) == false)
{
canEditEvent = true;
}
else
{
canEditEvent = false;
}
} }
else else
{ {

View File

@@ -79,14 +79,14 @@ public class RmEventPut extends RMEventBase
String eventDisplayLabel = getValue(json, "eventDisplayLabel"); String eventDisplayLabel = getValue(json, "eventDisplayLabel");
doCheck(eventDisplayLabel, "No event display label was provided."); doCheck(eventDisplayLabel, "No event display label was provided.");
// Check the event type
String eventType = getValue(json, "eventType");
doCheck(eventType, "No event type was provided.");
// Check if the event can be edited or not // Check if the event can be edited or not
RecordsManagementEvent event = null; RecordsManagementEvent event = null;
if (canEditEvent(eventDisplayLabel, eventName) == true) if (canEditEvent(eventDisplayLabel, eventName, eventType) == true)
{ {
// Check the event type
String eventType = getValue(json, "eventType");
doCheck(eventType, "No event type was provided.");
// Create event // Create event
event = rmEventService.addEvent(eventType, eventName, eventDisplayLabel); event = rmEventService.addEvent(eventType, eventName, eventDisplayLabel);
} }
@@ -118,15 +118,16 @@ public class RmEventPut extends RMEventBase
* *
* @param eventDisplayLabel The display label of the event * @param eventDisplayLabel The display label of the event
* @param eventName The name of the event * @param eventName The name of the event
* @param eventType The type of the event
* @return true if the event can be edited, false otherwise * @return true if the event can be edited, false otherwise
*/ */
private boolean canEditEvent(String eventDisplayLabel, String eventName) private boolean canEditEvent(String eventDisplayLabel, String eventName, String eventType)
{ {
boolean canEditEvent; boolean canEditEvent;
try try
{ {
canEditEvent = rmEventService.canEditEvent(eventDisplayLabel, eventName); canEditEvent = rmEventService.canEditEvent(eventDisplayLabel, eventName, eventType);
} }
catch (AlfrescoRuntimeException are) catch (AlfrescoRuntimeException are)
{ {