首页 文章

在项目数据源中记录电话号码和全名

提问于
浏览
1

我已经在谷歌应用程序制造商的应用程序中实现了一个用户选择器并同步了目录 . 当我使用它并将电子邮件地址存储到我已设置的Project数据源时,它可以工作,但我还想将相关的PrimaryPhone和FullName作为我的项目数据库中的单独变量记录 . 我不知道这是代码是脚本内还是数据源onCreate或onLoad . 任何有关这个问题的帮助将不胜感激 .

1 回答

  • 1

    如果您担心安全性和数据一致性,那么您可以使用服务器端实现:

    // onCreate model event handler (takes about-to-create record as parameter)
    var query = app.models.Directory.newQuery();
    
    // assuming that email field value is populated by UserPicker widget on client-side
    query.filters.PrimaryEmail._equals = record.Email;
    var people = query.run();
    
    if (people.length === 1) {
      var person = people[0];
    
      record.FullName = person.FullName;
      record.PrimaryPhone = person.PrimaryPhone;
    } else {
      // TODO: handle edge cases
    }
    

    如果您对安全性没有偏执,您可以:

    • 配置UserPicker以选择整个对象(选中'valueIsRecord'属性复选框) .

    • 处理onValueEdit UserPicker小部件事件:

    // onValueEdit UserPicker event
    // assuming that widget is bound to datasource's create mode item
    var draft = widget.datasource.item;
    
    draft.Email = newValue.PrimaryEmail;
    draft.FullName = newValue.FullName;
    draft.PrimaryPhone = newValue.PrimaryPhone;
    

相关问题