diff rhodecode/templates/admin/settings/hooks.html @ 1460:b50348816a80 beta

Added more advanced hook management into rhodecode admin settings
author Marcin Kuzminski <marcin@python-works.com>
date Fri, 09 Sep 2011 20:30:14 +0300
parents
children aaec08ad9daf
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/rhodecode/templates/admin/settings/hooks.html	Fri Sep 09 20:30:14 2011 +0300
@@ -0,0 +1,96 @@
+## -*- coding: utf-8 -*-
+<%inherit file="/base/base.html"/>
+
+<%def name="title()">
+    ${_('Settings administration')} - ${c.rhodecode_name}
+</%def>
+
+<%def name="breadcrumbs_links()">
+    ${h.link_to(_('Admin'),h.url('admin_home'))} &raquo; ${_('Settings')}
+</%def>
+
+<%def name="page_nav()">
+	${self.menu('admin')}
+</%def>
+
+<%def name="main()">
+<div class="box">
+    <!-- box / title -->
+    <div class="title">
+        ${self.breadcrumbs()}       
+    </div>
+    <!-- end box / title -->
+    
+    <h3>${_('Built in hooks - read only')}</h3>
+    <div class="form">
+        <div class="fields">
+          % for hook in c.hooks:
+          <div class="field">
+	        <div class="label label">
+	            <label for="${hook.ui_key}">${hook.ui_key}</label>
+	        </div>
+	        <div class="input" style="margin-left:280px">
+                  ${h.text(hook.ui_key,hook.ui_value,size=60,readonly="readonly")}
+	        </div>
+          </div>
+          % endfor
+		</div>
+    </div>
+    
+    <h3>${_('Custom hooks')}</h3>
+    ${h.form(url('admin_setting', setting_id='hooks'),method='put')}
+    <div class="form">
+        <div class="fields">
+        
+          % for hook in c.custom_hooks:
+          <div class="field"  id="${'id%s' % hook.ui_id }">
+            <div class="label label">
+                <label for="${hook.ui_key}">${hook.ui_key}</label>
+            </div>
+            <div class="input" style="margin-left:280px">                
+                ${h.hidden('hook_ui_key',hook.ui_key)}
+                ${h.hidden('hook_ui_value',hook.ui_value)}
+                ${h.text('hook_ui_value_new',hook.ui_value,size=60)}
+                <span class="delete_icon action_button" 
+                onclick="ajaxActionHook(${hook.ui_id},'${'id%s' % hook.ui_id }')">
+                ${_('remove')}
+                </span>
+            </div>
+          </div>
+          % endfor        
+        
+          <div class="field">
+            <div class="input" style="margin-left:-180px;position: absolute;">
+              <div class="input">
+                 ${h.text('new_hook_ui_key',size=30)}
+              </div>
+            </div>
+            <div class="input" style="margin-left:280px">
+                ${h.text('new_hook_ui_value',size=60)}
+            </div>
+          </div>
+          <div class="buttons" style="margin-left:280px">
+             ${h.submit('save','Save',class_="ui-button")}
+          </div>          
+        </div>
+    </div>
+    ${h.end_form()}
+</div>
+<script type="text/javascript">
+function ajaxActionHook(hook_id,field_id) {
+    var sUrl = "${h.url('admin_setting', setting_id='hooks')}";
+    var callback = {
+        success: function (o) {
+            var elem = YUD.get(""+field_id);
+            elem.parentNode.removeChild(elem);
+        },
+        failure: function (o) {
+            alert("${_('Failed to remove hook')}");
+        },
+    };
+    var postData = '_method=delete&hook_id=' + hook_id;
+    var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, postData);
+};
+</script>
+      
+</%def>