[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> <name>archiva-access-repository</name>
<description>Access Archiva Repository</description> <description>Access Archiva Repository</description>
</operation> </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> <operation>
<id>archiva-view-audit-logs</id> <id>archiva-view-audit-logs</id>
<name>archiva-view-audit-logs</name> <name>archiva-view-audit-logs</name>
@ -230,6 +240,18 @@
<operation>archiva-view-audit-logs</operation> <operation>archiva-view-audit-logs</operation>
<resource>${resource}</resource> <resource>${resource}</resource>
</permission> </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> </permissions>
<childTemplates> <childTemplates>
<childTemplate>archiva-repository-observer</childTemplate> <childTemplate>archiva-repository-observer</childTemplate>

View File

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