]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1362] Add simple 'CRUD' pages for project-level metadata along with a "generic...
authorMaria Odea B. Ching <oching@apache.org>
Mon, 7 Jun 2010 08:15:53 +0000 (08:15 +0000)
committerMaria Odea B. Ching <oching@apache.org>
Mon, 7 Jun 2010 08:15:53 +0000 (08:15 +0000)
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

archiva-modules/archiva-web/archiva-security/src/main/resources/META-INF/redback/redback.xml
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/jsp/include/projectMetadata.jspf

index 55b30e09e4355ebe757a3fa80f6b070c74e0a7da..ee57e70fdb35808f359105872536cdbc27b971c2 100644 (file)
           <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>
               <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>
index 0b437910dc150fc11c2e38e39be79b598805a1cc..e0a7af191d72b6d215b90fc7eadd19ad8a2e0168 100644 (file)
 <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>
            <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>