summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorThomas Tanghus <thomas@tanghus.net>2012-02-14 10:34:52 +0100
committerThomas Tanghus <thomas@tanghus.net>2012-02-14 10:36:22 +0100
commitae426ad1151615dda9d492bb550de15b81f91216 (patch)
tree84029742189ace02f06134819550eb5710d775ab /apps
parent064f87680b15b64703f972e9a654e402de197f8f (diff)
downloadnextcloud-server-ae426ad1151615dda9d492bb550de15b81f91216.tar.gz
nextcloud-server-ae426ad1151615dda9d492bb550de15b81f91216.zip
Added some check for when addinf deleting contacts.
Diffstat (limited to 'apps')
-rw-r--r--apps/contacts/ajax/loadintro.php62
-rw-r--r--apps/contacts/js/contacts.js127
-rw-r--r--apps/contacts/templates/part.no_contacts.php2
3 files changed, 137 insertions, 54 deletions
diff --git a/apps/contacts/ajax/loadintro.php b/apps/contacts/ajax/loadintro.php
new file mode 100644
index 00000000000..d3249c19107
--- /dev/null
+++ b/apps/contacts/ajax/loadintro.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * ownCloud - Addressbook
+ *
+ * @author Thomas Tanghus
+ * @copyright 2012 Thomas Tanghus <thomas@tanghus.net>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+// Init owncloud
+require_once('../../../lib/base.php');
+function bailOut($msg) {
+ OC_JSON::error(array('data' => array('message' => $msg)));
+ OC_Log::write('contacts','ajax/newcontact.php: '.$msg, OC_Log::DEBUG);
+ exit();
+}
+function debug($msg) {
+ OC_Log::write('contacts','ajax/newcontact.php: '.$msg, OC_Log::DEBUG);
+}
+// foreach ($_POST as $key=>$element) {
+// debug('_POST: '.$key.'=>'.$element);
+// }
+
+// Check if we are a user
+OC_JSON::checkLoggedIn();
+OC_JSON::checkAppEnabled('contacts');
+
+// $addressbooks = OC_Contacts_Addressbook::all(OC_USER::getUser());
+//
+// $upload_max_filesize = OC_Helper::computerFileSize(ini_get('upload_max_filesize'));
+// $post_max_size = OC_Helper::computerFileSize(ini_get('post_max_size'));
+// $maxUploadFilesize = min($upload_max_filesize, $post_max_size);
+//
+// $freeSpace=OC_Filesystem::free_space('/');
+// $freeSpace=max($freeSpace,0);
+// $maxUploadFilesize = min($maxUploadFilesize ,$freeSpace);
+// $adr_types = OC_Contacts_App::getTypesOfProperty('ADR');
+// $phone_types = OC_Contacts_App::getTypesOfProperty('TEL');
+
+$tmpl = new OC_Template('contacts','part.no_contacts');
+// $tmpl->assign('uploadMaxFilesize', $maxUploadFilesize);
+// $tmpl->assign('uploadMaxHumanFilesize', OC_Helper::humanFileSize($maxUploadFilesize));
+// $tmpl->assign('adr_types',$adr_types);
+// $tmpl->assign('phone_types',$phone_types);
+// $tmpl->assign('addressbooks',$addressbooks);
+// $tmpl->assign('id','');
+$page = $tmpl->fetchPage();
+
+OC_JSON::success(array('data' => array( 'page' => $page )));
diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js
index d61489b63c3..6effbdd3ee4 100644
--- a/apps/contacts/js/contacts.js
+++ b/apps/contacts/js/contacts.js
@@ -132,7 +132,10 @@ Contacts={
$('#carddav_url_close').show();
},
messageBox:function(title, msg) {
- //alert(msg);
+ if(msg.toLowerCase().indexOf('auth') > 0) {
+ // fugly hack, I know
+ alert(msg);
+ }
if($('#messagebox').dialog('isOpen') == true){
// NOTE: Do we ever get here?
$('#messagebox').dialog('moveToTop');
@@ -253,6 +256,50 @@ Contacts={
//$.get(OC.linkTo('contacts', 'export.php'),{'contactid':this.id},function(jsondata){
//});
},
+ import:function(){
+ Contacts.UI.notImplemented();
+ },
+ add:function(n, fn, aid){ // add a new contact
+ console.log('Add contact: ' + n + ', ' + fn + ' ' + aid);
+ $.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid },
+ function(jsondata) {
+ if (jsondata.status == 'success'){
+ $('#rightcontent').data('id',jsondata.data.id);
+ var id = jsondata.data.id;
+ $.getJSON('ajax/contactdetails.php',{'id':id},function(jsondata){
+ if(jsondata.status == 'success'){
+ Contacts.UI.loadHandlers();
+ Contacts.UI.Card.loadContact(jsondata.data);
+ $('#leftcontent .active').removeClass('active');
+ var item = '<li data-id="'+jsondata.data.id+'" class="active"><a href="index.php?id='+jsondata.data.id+'" style="background: url(thumbnail.php?id='+jsondata.data.id+') no-repeat scroll 0% 0% transparent;">'+Contacts.UI.Card.fn+'</a></li>';
+ var added = false;
+ $('#leftcontent ul li').each(function(){
+ if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) {
+ $(this).before(item).fadeIn('fast');
+ added = true;
+ return false;
+ }
+ });
+ if(!added) {
+ $('#leftcontent ul').append(item);
+ }
+
+ }
+ else{
+ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
+ //alert(jsondata.data.message);
+ }
+ });
+ $('#contact_identity').show();
+ $('#actionbar').show();
+ // TODO: Add to contacts list.
+ }
+ else{
+ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
+ //alert(jsondata.data.message);
+ }
+ });
+ },
delete:function() {
$('#contacts_deletecard').tipsy('hide');
$.getJSON('ajax/deletecard.php',{'id':this.id},function(jsondata){
@@ -262,17 +309,31 @@ Contacts={
//$('#rightcontent').empty();
this.id = this.fn = this.fullname = this.shortname = this.famname = this.givname = this.addname = this.honpre = this.honsuf = '';
this.data = undefined;
- // Load empty page.
- var firstid = $('#contacts li:first-child').data('id');
- console.log('trying to load: ' + firstid);
- $.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':firstid},function(jsondata){
- if(jsondata.status == 'success'){
- Contacts.UI.Card.loadContact(jsondata.data);
- }
- else{
- Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
- }
- });
+ // Load first in list.
+ if($('#contacts li').length > 0) {
+ var firstid = $('#contacts li:first-child').data('id');
+ console.log('trying to load: ' + firstid);
+ $.getJSON(OC.filePath('contacts', 'ajax', 'contactdetails.php'),{'id':firstid},function(jsondata){
+ if(jsondata.status == 'success'){
+ Contacts.UI.Card.loadContact(jsondata.data);
+ }
+ else{
+ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
+ }
+ });
+ } else {
+ // load intro page
+ $.getJSON('ajax/loadintro.php',{},function(jsondata){
+ if(jsondata.status == 'success'){
+ id = '';
+ $('#rightcontent').data('id','');
+ $('#rightcontent').html(jsondata.data.page);
+ }
+ else{
+ Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
+ }
+ });
+ }
}
else{
Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
@@ -285,6 +346,7 @@ Contacts={
$('#contact_communication').hide();
this.data = jsondata;
this.id = this.data.id;
+ $('#rightcontent').data('id',this.id);
//console.log('loaded: ' + this.data.FN[0]['value']);
this.populateNameFields();
this.loadPhoto();
@@ -399,47 +461,6 @@ Contacts={
}
else{
Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
- alert(jsondata.data.message);
- }
- });
- },
- add:function(n, fn, aid){ // add a new contact
- console.log('Add contact: ' + n + ', ' + fn + ' ' + aid);
- $.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid },
- function(jsondata) {
- if (jsondata.status == 'success'){
- $('#rightcontent').data('id',jsondata.data.id);
- var id = jsondata.data.id;
- $.getJSON('ajax/contactdetails.php',{'id':id},function(jsondata){
- if(jsondata.status == 'success'){
- Contacts.UI.loadHandlers();
- Contacts.UI.Card.loadContact(jsondata.data);
- $('#leftcontent .active').removeClass('active');
- var item = '<li data-id="'+jsondata.data.id+'" class="active"><a href="index.php?id='+jsondata.data.id+'" style="background: url(thumbnail.php?id='+jsondata.data.id+') no-repeat scroll 0% 0% transparent;">'+Contacts.UI.Card.fn+'</a></li>';
- var added = false;
- $('#leftcontent ul li').each(function(){
- if ($(this).text().toLowerCase() > Contacts.UI.Card.fn.toLowerCase()) {
- $(this).before(item).fadeIn('fast');
- added = true;
- return false;
- }
- });
- if(!added) {
- $('#leftcontent ul').append(item);
- }
-
- }
- else{
- Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
- //alert(jsondata.data.message);
- }
- });
- $('#contact_identity').show();
- $('#actionbar').show();
- // TODO: Add to contacts list.
- }
- else{
- Contacts.UI.messageBox(t('contacts', 'Error'), jsondata.data.message);
//alert(jsondata.data.message);
}
});
diff --git a/apps/contacts/templates/part.no_contacts.php b/apps/contacts/templates/part.no_contacts.php
index ab6129cdde7..f58fdef09f0 100644
--- a/apps/contacts/templates/part.no_contacts.php
+++ b/apps/contacts/templates/part.no_contacts.php
@@ -2,7 +2,7 @@
You have no contacts in your list.
<div id="selections">
<input type="button" value="Import contacts" onclick="Contacts.UI.Addressbooks.import()" />
- <input type="button" value="Add contact" onclick="Contacts.UI.Card.add()" />
+ <input type="button" value="Add contact" onclick="Contacts.UI.Card.editNew()" />
<input type="button" value="Edit addressbooks" onclick="Contacts.UI.Addressbooks.overview()" />
</div>
</div> \ No newline at end of file