+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+require_once('../../../lib/base.php');
+
+$l10n = new OC_L10N('contacts');
+
+// Check if we are a user
+OC_JSON::checkLoggedIn();
+OC_JSON::checkAppEnabled('contacts');
+
+$userid = OC_User::getUser();
+$bookid = OC_Contacts_Addressbook::add($userid, $_POST['name'], null);
+OC_Contacts_Addressbook::setActive($bookid, 1);
+$book = OC_Contacts_Addressbook::find($bookid);
+$tmpl = new OC_Template('contacts', 'part.chooseaddressbook.rowfields');
+$tmpl->assign('addressbook', $book);
+OC_JSON::success(array(
+ 'page' => $tmpl->fetchPage(),
+ 'bookid' => $bookid,
+));
diff --git a/apps/contacts/ajax/deletebook.php b/apps/contacts/ajax/deletebook.php
index c13217ef2e2..238975436e7 100644
--- a/apps/contacts/ajax/deletebook.php
+++ b/apps/contacts/ajax/deletebook.php
@@ -23,7 +23,9 @@
// Init owncloud
require_once('../../../lib/base.php');
-$id = $_GET['id'];
+$id = $_POST['id'];
+
+OC_Log::write('contacts','deletebook.php: '.$id,OC_Log::DEBUG);
$l10n = new OC_L10N('contacts');
diff --git a/apps/contacts/ajax/editaddressbook.php b/apps/contacts/ajax/editaddressbook.php
new file mode 100644
index 00000000000..abdad09dea0
--- /dev/null
+++ b/apps/contacts/ajax/editaddressbook.php
@@ -0,0 +1,20 @@
+
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+require_once('../../../lib/base.php');
+$l10n = new OC_L10N('contacts');
+if(!OC_USER::isLoggedIn()) {
+ die("");
+}
+OC_JSON::checkAppEnabled('contacts');
+$addressbook = OC_Contacts_Addressbook::find($_GET['bookid']);
+$tmpl = new OC_Template("contacts", "part.editaddressbook");
+$tmpl->assign('new', false);
+$tmpl->assign('addressbook', $addressbook);
+$tmpl->printPage();
+?>
diff --git a/apps/contacts/ajax/updateaddressbook.php b/apps/contacts/ajax/updateaddressbook.php
new file mode 100644
index 00000000000..ccf1cef03f7
--- /dev/null
+++ b/apps/contacts/ajax/updateaddressbook.php
@@ -0,0 +1,26 @@
+
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+require_once('../../../lib/base.php');
+
+$l10n = new OC_L10N('contacts');
+
+// Check if we are a user
+OC_JSON::checkLoggedIn();
+OC_JSON::checkAppEnabled('contacts');
+
+$bookid = $_POST['id'];
+OC_Contacts_Addressbook::edit($bookid, $_POST['name'], null);
+OC_Contacts_Addressbook::setActive($bookid, $_POST['active']);
+$addressbook = OC_Contacts_Addressbook::find($bookid);
+$tmpl = new OC_Template('contacts', 'part.chooseaddressbook.rowfields');
+$tmpl->assign('book', $book);
+OC_JSON::success(array(
+ 'page' => $tmpl->fetchPage(),
+ 'addressbook' => $addressbook,
+));
diff --git a/apps/contacts/js/interface.js b/apps/contacts/js/interface.js
index 077bbd2071e..f34cde89576 100644
--- a/apps/contacts/js/interface.js
+++ b/apps/contacts/js/interface.js
@@ -36,7 +36,7 @@ Contacts={
*/
if (data.status == 'success'){
checkbox.checked = data.active == 1;
- alert('Update Contacts list.');
+ alert('TODO: Update Contacts list.');
/* TODO: Update Contacts list.
if (data.active == 1){
$('#calendar_holder').fullCalendar('addEventSource', data.eventSource);
@@ -53,6 +53,11 @@ Contacts={
$(object).closest('tr').after(tr).hide();
/* TODO: Shouldn't there be some kinda error checking here? */
},
+ editAddressbook:function(object, bookid){
+ var tr = $(document.createElement('tr'))
+ .load(OC.filePath('contacts', 'ajax', 'editaddressbook.php') + "?bookid="+bookid);
+ $(object).closest('tr').after(tr).hide();
+ },
deleteAddressbook:function(bookid){
var check = confirm("Do you really want to delete this address book?");
if(check == false){
@@ -61,38 +66,35 @@ Contacts={
$.post(OC.filePath('contacts', 'ajax', 'deletebook.php'), { id: bookid},
function(data) {
if (data.status == 'success'){
- alert('TODO: Update Contacts list.');
+ /* alert('TODO: Update Contacts list.'); */
/* TODO: Update Contacts list.
var url = 'ajax/deletebook.php?id='+bookid;
- $('#calendar_holder').fullCalendar('removeEventSource', url);
- $('#choosecalendar_dialog').dialog('destroy').remove();*/
+ $('#calendar_holder').fullCalendar('removeEventSource', url);*/
+ $('#chooseaddressbook_dialog').dialog('destroy').remove();
Contacts.UI.Addressbooks.overview();
+ } else {
+ alert('Error: ' + data.message);
}
});
}
},
submit:function(button, bookid){
- alert('TODO: Add or update address book.');
- /* TODO: Add or update address book.
- var displayname = $("#displayname_"+calendarid).val();
- var active = $("#edit_active_"+calendarid+":checked").length;
- var description = $("#description_"+calendarid).val();
- var calendarcolor = $("#calendarcolor_"+calendarid).val();
+ var displayname = $("#displayname_"+bookid).val();
+ var active = $("#edit_active_"+bookid+":checked").length;
+ var description = $("#description_"+bookid).val();
var url;
- if (calendarid == 'new'){
- url = "ajax/createcalendar.php";
+ if (bookid == 'new'){
+ url = OC.filePath('contacts', 'ajax', 'createaddressbook.php');
}else{
- url = "ajax/updatecalendar.php";
+ url = OC.filePath('contacts', 'ajax', 'updateaddressbook.php');
}
- $.post(url, { id: calendarid, name: displayname, active: active, description: description, color: calendarcolor },
+ $.post(url, { id: bookid, name: displayname, active: active, description: description },
function(data){
if(data.status == 'success'){
$(button).closest('tr').prev().html(data.page).show().next().remove();
- $('#calendar_holder').fullCalendar('removeEventSource', data.eventSource.url);
- $('#calendar_holder').fullCalendar('addEventSource', data.eventSource);
}
- }, 'json');*/
+ });
},
cancel:function(button, bookid){
$(button).closest('tr').prev().show().next().remove();
diff --git a/apps/contacts/templates/part.chooseaddressbook.rowfields.php b/apps/contacts/templates/part.chooseaddressbook.rowfields.php
index f6c11310960..7f7b5a9154e 100644
--- a/apps/contacts/templates/part.chooseaddressbook.rowfields.php
+++ b/apps/contacts/templates/part.chooseaddressbook.rowfields.php
@@ -1,4 +1,4 @@
";
echo " | ";
- echo "t("CardDav Link") . "\" class=\"action\"> | t("Download") . "\" class=\"action\"> | t("Delete") . "\" class=\"action\"> | ";
+ echo "t("CardDav Link") . "\" class=\"action\"> | t("Download") . "\" class=\"action\"> | t("Edit") . "\" class=\"action\" onclick=\"Contacts.UI.Addressbooks.editAddressbook(this, " . $_['addressbook']["id"] . ");\"> | t("Delete") . "\" class=\"action\"> | ";