[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,6 +25,7 @@
<div> <div>
<div> <div>
<redback:ifAuthorized permission="archiva-add-metadata" resource="${repositoryId}">
<s:form action="addMetadataProperty" namespace="/" method="post" validate="true" theme="simple"> <s:form action="addMetadataProperty" namespace="/" method="post" validate="true" theme="simple">
<s:hidden name="groupId" value="%{groupId}" /> <s:hidden name="groupId" value="%{groupId}" />
<s:hidden name="artifactId" value="%{artifactId}" /> <s:hidden name="artifactId" value="%{artifactId}" />
@ -49,6 +50,7 @@
</tr> </tr>
</table> </table>
</s:form> </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}
<redback:ifAuthorized permission="archiva-delete-metadata" resource="${repositoryId}">
<a href="${deletePropertyUrl}"> <a href="${deletePropertyUrl}">
<img src="<c:url value="/images/icons/delete.gif" />" alt="Delete" width="12" length="12"/> <img src="<c:url value="/images/icons/delete.gif" />" alt="Delete" width="12" length="12"/>
</a> </a>
</redback:ifAuthorized>
</li> </li>
</c:forEach> </c:forEach>
</ul> </ul>