Preliminary support for asking about adding a user to a list, if the user

is assigned by email and not in the list-members.
The GUI (memberlist in TagViewFragment) is not updating, though, so the new user isn't reflected yet.
pull/14/head
Arne Jans 13 years ago
parent a0c31d4052
commit e349349e7e

@ -707,6 +707,57 @@ public class EditPeopleControlSet extends PopupControlSet {
if(!TextUtils.isEmpty(assignedCustom.getText())) { if(!TextUtils.isEmpty(assignedCustom.getText())) {
userJson = PeopleContainer.createUserJson(assignedCustom); userJson = PeopleContainer.createUserJson(assignedCustom);
assignedView = assignedCustom; assignedView = assignedCustom;
if (actFmPreferenceService.isLoggedIn()) {
// check if the custom-user is already a member of this list
TodorooCursor<Metadata> tags = TagService.getInstance().getTags(task.getId(), true);
Metadata metadata = new Metadata();
for(tags.moveToFirst(); !tags.isAfterLast(); tags.moveToNext()) {
metadata.readFromCursor(tags);
final String tag = metadata.getValue(TagService.TAG);
final TagData tagData = tagDataService.getTag(tag, TagData.MEMBER_COUNT, TagData.MEMBERS, TagData.USER);
if(tagData != null) {
String customUserEmail = userJson.optString("email", "");
final JSONArray membersFromTag = new JSONArray(tagData.getValue(TagData.MEMBERS));
boolean customUserIsMember = false;
for(int i = 0; i < membersFromTag.length(); i++) {
JSONObject member = membersFromTag.getJSONObject(i);
String email = member.optString("mail", "");
if (!TextUtils.isEmpty(email) && email.equals(customUserEmail)) {
customUserIsMember = true;
break;
}
}
if (!customUserIsMember) {
// show dialog to ask if user should be added to the tag-members
final JSONObject newMember = userJson;
DialogInterface.OnClickListener okListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
membersFromTag.put(newMember);
tagData.setValue(TagData.MEMBERS, membersFromTag.toString());
tagData.setValue(TagData.MEMBER_COUNT, membersFromTag.length());
tagDataService.save(tagData);
}
};
DialogInterface.OnClickListener cancelListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface d, int which) {
// nothing to do here
}
};
DialogUtilities.okCancelCustomDialog(activity,
activity.getString(R.string.actfm_EPA_add_person_to_list_title),
activity.getString(R.string.actfm_EPA_add_person_to_list, customUserEmail, customUserEmail),
R.string.actfm_EPA_add_person_to_list_ok,
R.string.actfm_EPA_add_person_to_list_cancel,
android.R.drawable.ic_dialog_alert,
okListener, cancelListener);
}
}
}
}
} else { } else {
if (!loadedUI || assignedList.getCheckedItemPosition() == ListView.INVALID_POSITION) if (!loadedUI || assignedList.getCheckedItemPosition() == ListView.INVALID_POSITION)
return true; return true;

@ -51,6 +51,10 @@
<string name="actfm_EPA_login_to_share">Sie müssen auf Astrid.com angemeldet sein, um Aufgaben zu teilen.</string> <string name="actfm_EPA_login_to_share">Sie müssen auf Astrid.com angemeldet sein, um Aufgaben zu teilen.</string>
<string name="actfm_EPA_login_button">Anmelden</string> <string name="actfm_EPA_login_button">Anmelden</string>
<string name="actfm_EPA_dont_share_button">Nicht teilen.</string> <string name="actfm_EPA_dont_share_button">Nicht teilen.</string>
<string name="actfm_EPA_add_person_to_list_title">Aufgabe zugewiesen</string>
<string name="actfm_EPA_add_person_to_list">%1$s ist kein Mitglied dieser Liste. Möchten Sie %2$s zu dieser Liste hinzufügen?</string>
<string name="actfm_EPA_add_person_to_list_ok">Hinzufügen</string>
<string name="actfm_EPA_add_person_to_list_cancel">Nicht hinzufügen</string>
<string name="actfm_ALA_title">Willkommen bei Astrid.com!</string> <string name="actfm_ALA_title">Willkommen bei Astrid.com!</string>
<string name="actfm_ALA_body">Astrid.com lässt Sie ihre Aufgaben online abrufen, teilen, und auf andere übertragen.</string> <string name="actfm_ALA_body">Astrid.com lässt Sie ihre Aufgaben online abrufen, teilen, und auf andere übertragen.</string>
<string name="actfm_ALA_fb_login">Mit Facebook verbinden</string> <string name="actfm_ALA_fb_login">Mit Facebook verbinden</string>

@ -211,7 +211,14 @@
<string name="actfm_EPA_dont_share_button">Don\'t share</string> <string name="actfm_EPA_dont_share_button">Don\'t share</string>
<string name="actfm_EPA_add_person_to_list_title">Task assigned</string>
<string name="actfm_EPA_add_person_to_list">%1$s is not shared on this list. Would you like to add %2$s to this list?</string>
<string name="actfm_EPA_add_person_to_list_ok">Add to list</string>
<string name="actfm_EPA_add_person_to_list_cancel">Don\'t add</string>
<!-- ========================================= sharing login activity == --> <!-- ========================================= sharing login activity == -->
<!-- share login: Title --> <!-- share login: Title -->

Loading…
Cancel
Save