]> source.dussan.org Git - nextcloud-server.git/commitdiff
Contacts: Fix saveproperty for categories
authorBart Visscher <bartv@thisnet.nl>
Mon, 26 Mar 2012 19:46:18 +0000 (21:46 +0200)
committerBart Visscher <bartv@thisnet.nl>
Mon, 26 Mar 2012 19:47:37 +0000 (21:47 +0200)
apps/contacts/ajax/saveproperty.php
apps/contacts/templates/part.contact.php

index 95a7ac2019315c2fa0ad2afa7f3d5c6019ed10c4..272a3f9b325dbeeff04d093038d7ef8d4a19dd84 100644 (file)
@@ -83,16 +83,34 @@ if($element != $name) {
        bailOut(OC_Contacts_App::$l10n->t('Something went FUBAR. ').$name.' != '.$element);
 }
 
+/* preprocessing value */
 switch($element) {
        case 'BDAY':
                $date = New DateTime($value);
                //$vcard->setDateTime('BDAY', $date, Sabre_VObject_Element_DateTime::DATE);
                $value = $date->format(DateTime::ATOM);
+               break;
        case 'FN':
                if(!$value) {
                        // create a method thats returns an alternative for FN.
                        //$value = getOtherValue();
                }
+               break;
+       case 'CATEGORIES':
+               /* multi autocomplete triggers an save with empty value */
+               if (!$value) {
+                       $value = $vcard->getAsString('CATEGORIES');
+               }
+               break;
+       case 'EMAIL':
+               $value = strtolower($value);
+               break;
+}
+
+/* setting value */
+switch($element) {
+       case 'BDAY':
+       case 'FN':
        case 'N':
        case 'ORG':
        case 'NOTE':
@@ -102,7 +120,6 @@ switch($element) {
                $vcard->setString($name, $value);
                break;
        case 'EMAIL':
-               $value = strtolower($value);
        case 'TEL':
        case 'ADR': // should I delete the property if empty or throw an error?
                debug('Setting element: (EMAIL/TEL/ADR)'.$element);
index cb1e080a40a3c28da923d1b2d01ed217ebd39dc0..a1acb20b9cb2ac712391e9bc00062d0ca9e1160b 100644 (file)
@@ -64,7 +64,7 @@ $id = isset($_['id']) ? $_['id'] : '';
                        <a class="action edit" onclick="$(this).tipsy('hide');OCCategories.edit();" title="<?php echo $l->t('Edit categories'); ?>"></a>
                </dd -->
                <dt style="display:none;" id="categories_label" data-element="CATEGORIES"><label for="categories"><?php echo $l->t('Categories'); ?></label></dt>
-               <dd style="display:none;" class="propertycontainer" id="categories_value" data-element="CATEGORIES"><input id="categories"  required="required" name="value[CATEGORIES]" type="text" class="contacts_property" style="width:16em;" name="value" value="" placeholder="<?php echo $l->t('Categories'); ?>" /><a class="action delete" onclick="$(this).tipsy('hide');Contacts.UI.Card.deleteProperty(this, 'single');" title="<?php echo $l->t('Delete'); ?>"></a><a class="action edit" onclick="$(this).tipsy('hide');OCCategories.edit();" title="<?php echo $l->t('Edit categories'); ?>"></a></dd>
+               <dd style="display:none;" class="propertycontainer" id="categories_value" data-element="CATEGORIES"><input id="categories" required="required" name="value[CATEGORIES]" type="text" class="contacts_property" style="width:16em;" name="value" value="" placeholder="<?php echo $l->t('Categories'); ?>" /><a class="action delete" onclick="$(this).tipsy('hide');Contacts.UI.Card.deleteProperty(this, 'single');" title="<?php echo $l->t('Delete'); ?>"></a><a class="action edit" onclick="$(this).tipsy('hide');OCCategories.edit();" title="<?php echo $l->t('Edit categories'); ?>"></a></dd>
        </dl>
        </fieldset>
        <fieldset id="note" class="formfloat propertycontainer contactpart" style="display:none;" data-element="NOTE">