cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tobias Mücksch (JIRA) <j...@apache.org>
Subject [jira] [Updated] (CB-10976) Can't remove contact field
Date Tue, 29 Mar 2016 11:05:25 GMT

     [ https://issues.apache.org/jira/browse/CB-10976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tobias Mücksch updated CB-10976:
--------------------------------
    Description: 
Short demo script:

{code:javascript}
    navigator.contacts.find(["*"], function (contacts) {
        // Pick a contact
        // (Make sure the contact has more than two phoneNumberFields)
        var myContact = contacts[4]; 

        // Remove the second phone number
        delete myContact.phoneNumbers[1];

        myContact.save(function () {
            console.log("Success");
            /// You will see, that the contact still has all it's previous phone numbers
        }, function () {
            console.error("error while saving");
        });
        
    }, function () {
        console.error("Could not access conacts.");
    });
{code}

Let's say a existing contact that I've retrieved from the system has two or more phone number
fields. When I remove one of the both contact fields from the phoneNumbers array and then
save the contact, *it still has all numbers on the device*. When I re-retrieve the contact
it has both numbers again. (Tested on iOS 9.3 with plugin version 2.0.1)

I can't find any hint in the documentation if I do something wrong or if the plugin is behaving
wrong.


*I have created a demo script, which reproduces the issue. You can use it for testing:*
http://pastebin.com/XRdREL3Y
You might want to remove line 25 which removes the contact in the end.


This SO Question might be related to the issue: http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1

  was:
Short demo script:

{code:javascript}
    navigator.contacts.find(["*"], function (contacts) {
        // Pick a contact
        var myContact = contacts[4]; // Make sure the contact has more than two phoneNumberFields

        // Remove the second phone number
        delete myContact.phoneNumbers[1];

        myContact.save(function () {
            console.log("Success");
            /// You will see, that the contact still has all it's previous phone numbers
        }, function () {
            console.error("error while saving");
        });
        
    }, function () {
        console.error("Could not access conacts.");
    });
{code}

Let's say a existing contact that I've retrieved from the system has two or more phone number
fields. When I remove one of the both contact fields from the phoneNumbers array and then
save the contact, *it still has all numbers on the device*. When I re-retrieve the contact
it has both numbers again. (Tested on iOS 9.3 with plugin version 2.0.1)

I can't find any hint in the documentation if I do something wrong or if the plugin is behaving
wrong.


*I have created a demo script, which reproduces the issue. You can use it for testing:*
http://pastebin.com/XRdREL3Y
You might want to remove line 25 which removes the contact in the end.


This SO Question might be related to the issue: http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1


> Can't remove contact field
> --------------------------
>
>                 Key: CB-10976
>                 URL: https://issues.apache.org/jira/browse/CB-10976
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Contacts
>    Affects Versions: 2.0.0
>         Environment: iOS 9.3
>            Reporter: Tobias Mücksch
>            Priority: Blocker
>
> Short demo script:
> {code:javascript}
>     navigator.contacts.find(["*"], function (contacts) {
>         // Pick a contact
>         // (Make sure the contact has more than two phoneNumberFields)
>         var myContact = contacts[4]; 
>         // Remove the second phone number
>         delete myContact.phoneNumbers[1];
>         myContact.save(function () {
>             console.log("Success");
>             /// You will see, that the contact still has all it's previous phone numbers
>         }, function () {
>             console.error("error while saving");
>         });
>         
>     }, function () {
>         console.error("Could not access conacts.");
>     });
> {code}
> Let's say a existing contact that I've retrieved from the system has two or more phone
number fields. When I remove one of the both contact fields from the phoneNumbers array and
then save the contact, *it still has all numbers on the device*. When I re-retrieve the contact
it has both numbers again. (Tested on iOS 9.3 with plugin version 2.0.1)
> I can't find any hint in the documentation if I do something wrong or if the plugin is
behaving wrong.
> *I have created a demo script, which reproduces the issue. You can use it for testing:*
> http://pastebin.com/XRdREL3Y
> You might want to remove line 25 which removes the contact in the end.
> This SO Question might be related to the issue: http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message