lib/kolab_client_task.php public_html/js

Aleksander Machniak machniak at kolabsys.com
Wed Apr 11 11:38:11 CEST 2012


 lib/kolab_client_task.php     |   10 +++++-----
 public_html/js/kolab_admin.js |   17 ++++++++++++-----
 2 files changed, 17 insertions(+), 10 deletions(-)

New commits:
commit bb72cd7199b6cec13b8fe9a1959323c70bdd1bf2
Author: Aleksander Machniak <machniak at kolabsys.com>
Date:   Wed Apr 11 11:37:30 2012 +0200

    Add object_type and type_id arguments to list_options/select_options calls (#698)

diff --git a/lib/kolab_client_task.php b/lib/kolab_client_task.php
index 53422e4..e51af9e 100644
--- a/lib/kolab_client_task.php
+++ b/lib/kolab_client_task.php
@@ -771,6 +771,9 @@ class kolab_client_task
 
         $extra_fields = array_flip($extra_fields);
 
+        // Object type
+        $data['object_type'] = $name;
+
         // Selected account type
         if (!empty($data['type_id'])) {
             $type = $data['type_id'];
@@ -896,13 +899,10 @@ class kolab_client_task
         // (Re-|Pre-)populate auto_form_fields
         if ($add_mode) {
             if (!empty($auto_attribs)) {
-                $data = array_merge((array)$data, array(
-                    'attributes'  => $auto_attribs,
-                    'object_type' => $name,
-                ));
-
+                $data['attributes'] = $auto_attribs;
                 $resp = $this->api->post('form_value.generate', null, $data);
                 $data = array_merge((array)$data, (array)$resp->get());
+                unset($data['attributes']);
             }
         }
         else {
diff --git a/public_html/js/kolab_admin.js b/public_html/js/kolab_admin.js
index 36b749f..b4ed605 100644
--- a/public_html/js/kolab_admin.js
+++ b/public_html/js/kolab_admin.js
@@ -734,6 +734,7 @@ function kolab_admin()
   this.form_element_wrapper = function(form_element)
   {
     var i = 0, j = 0, list = [], elem, e = $(form_element),
+      form = form_element.form,
       disabled = e.attr('disabled'),
       readonly = e.attr('readonly'),
       autocomplete = e.attr('data-autocomplete'),
@@ -760,7 +761,7 @@ function kolab_admin()
 
       // add simple input rows
       $.each(list, function(i, v) {
-        elem = $('<input>');
+        var elem = $('<input>');
         elem.attr({
           value: v,
           disabled: disabled,
@@ -775,21 +776,27 @@ function kolab_admin()
     else {
       // add autocompletion input
       if (autocomplete) {
-        elem = this.form_list_element(form_element.form, {
+        elem = this.form_list_element(form, {
           maxlength: maxlength,
           autocomplete: autocomplete,
           element: e
         }, -1);
 
-        elem.appendTo(area);
-        this.ac_init(elem, {attribute: form_element.name, oninsert: this.form_element_oninsert});
+        // Initialize autocompletion
+        var props = {attribute: form_element.name, oninsert: this.form_element_oninsert};
+        if (i = $('input[name="type_id"]', form).val())
+          props.type_id = i;
+        if (i = $('input[name="object_type"]', form).val())
+          props.object_type = i;
+        this.ac_init(elem, props);
 
+        elem.appendTo(area);
         area.addClass('autocomplete');
       }
 
       // add input rows
       $.each(list, function(i, v) {
-        elem = kadm.form_list_element(form_element.form, {
+        var elem = kadm.form_list_element(form, {
           value: v,
           key: i,
           maxlength: maxlength,





More information about the commits mailing list