[MRM-1362] Add simple 'CRUD' pages for project-level metadata along with a "generic metadata" plugin

o allow only users with repo manager role to add & delete metadata content
o add archiva-add-metadata and archive-delete-metadata permissions 


git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@952136 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Maria Odea B. Ching 2010-06-07 08:15:53 +00:00
parent 8891e9fdd2
commit f36029359a
2 changed files with 53 additions and 27 deletions

View File

@ -65,6 +65,16 @@
<name>archiva-access-repository</name>
<description>Access Archiva Repository</description>
</operation>
<operation>
<id>archiva-add-metadata</id>
<name>archiva-add-metadata</name>
<description>Add Repository Metadata</description>
</operation>
<operation>
<id>archiva-delete-metadata</id>
<name>archiva-delete-metadata</name>
<description>Delete Repository Metadata</description>
</operation>
<operation>
<id>archiva-view-audit-logs</id>
<name>archiva-view-audit-logs</name>
@ -230,6 +240,18 @@
<operation>archiva-view-audit-logs</operation>
<resource>${resource}</resource>
</permission>
<permission>
<id>archiva-add-metadata</id>
<name>Archiva Add Repository Metadata</name>
<operation>archiva-add-metadata</operation>
<resource>${resource}</resource>
</permission>
<permission>
<id>archiva-delete-metadata</id>
<name>Archiva Delete Repository Metadata</name>
<operation>archiva-delete-metadata</operation>
<resource>${resource}</resource>
</permission>
</permissions>
<childTemplates>
<childTemplate>archiva-repository-observer</childTemplate>

View File

@ -25,30 +25,32 @@
<div>
<div>
<s:form action="addMetadataProperty" namespace="/" method="post" validate="true" theme="simple">
<s:hidden name="groupId" value="%{groupId}" />
<s:hidden name="artifactId" value="%{artifactId}" />
<s:hidden name="version" value="%{version}" />
<s:hidden name="repositoryId" value="%{repositoryId}" />
<table>
<tr>
<td align="center"><strong>Property Name</strong></td>
<td align="center"><strong>Property Value</strong></td>
<td/>
</tr>
<tr>
<td>
<s:textfield name="propertyName" size="30" required="true"/>
</td>
<td>
<s:textfield name="propertyValue" size="30" required="true"/>
</td>
<td align="right">
<s:submit value="Add"/>
</td>
</tr>
</table>
</s:form>
<redback:ifAuthorized permission="archiva-add-metadata" resource="${repositoryId}">
<s:form action="addMetadataProperty" namespace="/" method="post" validate="true" theme="simple">
<s:hidden name="groupId" value="%{groupId}" />
<s:hidden name="artifactId" value="%{artifactId}" />
<s:hidden name="version" value="%{version}" />
<s:hidden name="repositoryId" value="%{repositoryId}" />
<table>
<tr>
<td align="center"><strong>Property Name</strong></td>
<td align="center"><strong>Property Value</strong></td>
<td/>
</tr>
<tr>
<td>
<s:textfield name="propertyName" size="30" required="true"/>
</td>
<td>
<s:textfield name="propertyValue" size="30" required="true"/>
</td>
<td align="right">
<s:submit value="Add"/>
</td>
</tr>
</table>
</s:form>
</redback:ifAuthorized>
</div>
<div>
@ -68,9 +70,11 @@
<c:param name="deleteItem" value="${prop.key}"/>
</c:url>
<li>${prop.key}=${prop.value}
<a href="${deletePropertyUrl}">
<img src="<c:url value="/images/icons/delete.gif" />" alt="Delete" width="12" length="12"/>
</a>
<redback:ifAuthorized permission="archiva-delete-metadata" resource="${repositoryId}">
<a href="${deletePropertyUrl}">
<img src="<c:url value="/images/icons/delete.gif" />" alt="Delete" width="12" length="12"/>
</a>
</redback:ifAuthorized>
</li>
</c:forEach>
</ul>