summaryrefslogtreecommitdiffstats
path: root/apps/contacts/js/contacts.js
diff options
context:
space:
mode:
Diffstat (limited to 'apps/contacts/js/contacts.js')
-rw-r--r--apps/contacts/js/contacts.js58
1 files changed, 48 insertions, 10 deletions
diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js
index 18edb40a3cb..7e0fe8b41cf 100644
--- a/apps/contacts/js/contacts.js
+++ b/apps/contacts/js/contacts.js
@@ -1287,6 +1287,7 @@ Contacts={
},
Addressbooks:{
droptarget:undefined,
+ droptext:t('contacts', 'Drop a VCF file to import contacts.'),
overview:function(){
if($('#chooseaddressbook_dialog').dialog('isOpen') == true){
$('#chooseaddressbook_dialog').dialog('moveToTop');
@@ -1345,8 +1346,16 @@ Contacts={
}
},
loadImportHandlers:function() {
+ $('#import_upload_start').change(function(){
+ Contacts.UI.Addressbooks.uploadImport(this.files);
+ });
+ $('#importaddressbook_dialog').find('.upload').click(function() {
+ Contacts.UI.Addressbooks.droptarget.html(t('contacts', 'Uploading...'));
+ Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, true);
+ $('#import_upload_start').trigger('click');
+ });
+ $('#importaddressbook_dialog').find('.upload').tipsy();
this.droptarget = $('#import_drop_target');
- console.log($('#import_drop_target').html());
$(this.droptarget).bind('dragover',function(event){
$(event.target).addClass('droppable');
event.stopPropagation();
@@ -1371,13 +1380,13 @@ Contacts={
console.log('size: '+file.size+', type: '+file.type);
if(file.size > $('#max_upload').val()){
OC.dialogs.alert(t('contacts','The file you are trying to upload exceed the maximum size for file uploads on this server.'), t('contacts','Upload too large'));
- $(Contacts.UI.Addressbooks.droptarget).html(t('contacts', 'Drop a VCF file to import contacts.'));
+ $(Contacts.UI.Addressbooks.droptarget).html(Contacts.UI.Addressbooks.droptext);
Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, false);
return;
}
if(file.type.indexOf('text') != 0) {
OC.dialogs.alert(t('contacts','You have dropped a file type that cannot be imported: ') + file.type, t('contacts','Wrong file type'));
- $(Contacts.UI.Addressbooks.droptarget).html(t('contacts', 'Drop a VCF file to import contacts.'));
+ $(Contacts.UI.Addressbooks.droptarget).html(Contacts.UI.Addressbooks.droptext);
Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, false);
return;
}
@@ -1392,11 +1401,9 @@ Contacts={
response = $.parseJSON(xhr.responseText);
if(response.status == 'success') {
if(xhr.status == 200) {
- $(Contacts.UI.Addressbooks.droptarget).html(t('contacts', 'Importing...'));
- Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, true);
Contacts.UI.Addressbooks.doImport(response.data.path, response.data.file);
} else {
- $(Contacts.UI.Addressbooks.droptarget).html(t('contacts', 'Drop a VCF file to import contacts.'));
+ $(Contacts.UI.Addressbooks.droptarget).html(Contacts.UI.Addressbooks.droptext);
Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, false);
OC.dialogs.alert(xhr.status + ': ' + xhr.responseText, t('contacts', 'Error'));
}
@@ -1405,7 +1412,7 @@ Contacts={
}
}
};
- xhr.open("POST", 'ajax/uploadimport.php?file='+encodeURIComponent(file.name), true);
+ xhr.open('POST', OC.filePath('contacts', 'ajax', 'uploadimport.php') + '?file='+encodeURIComponent(file.name), true);
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('X_FILE_NAME', encodeURIComponent(file.name));
@@ -1414,12 +1421,39 @@ Contacts={
xhr.send(file);
}
},
+ uploadImport:function(filelist) {
+ if(!filelist) {
+ OC.dialogs.alert(t('contacts','No files selected for upload.'), t('contacts', 'Error'));
+ return;
+ }
+ //var file = filelist.item(0);
+ var file = filelist[0];
+ var target = $('#import_upload_target');
+ var form = $('#import_upload_form');
+ var totalSize=0;
+ if(file.size > $('#max_upload').val()){
+ OC.dialogs.alert(t('contacts','The file you are trying to upload exceed the maximum size for file uploads on this server.'), t('contacts', 'Error'));
+ return;
+ } else {
+ target.load(function(){
+ var response=jQuery.parseJSON(target.contents().text());
+ if(response != undefined && response.status == 'success'){
+ Contacts.UI.Addressbooks.doImport(response.data.path, response.data.file);
+ }else{
+ OC.dialogs.alert(response.data.message, t('contacts', 'Error'));
+ }
+ });
+ form.submit();
+ }
+ },
importAddressbook:function(object){
var tr = $(document.createElement('tr'))
.load(OC.filePath('contacts', 'ajax', 'importaddressbook.php'));
$(object).closest('tr').after(tr).hide();
},
doImport:function(path, file){
+ $(Contacts.UI.Addressbooks.droptarget).html(t('contacts', 'Importing...'));
+ Contacts.UI.loading(Contacts.UI.Addressbooks.droptarget, true);
var id = $('#importaddressbook_dialog').find('#book').val();
console.log('Selected book: ' + id);
$.post(OC.filePath('contacts', '', 'import.php'), { id: id, path: path, file: file, fstype: 'OC_FilesystemView' },
@@ -1428,6 +1462,10 @@ Contacts={
Contacts.UI.Addressbooks.droptarget.html(t('contacts', 'Import done. Success/Failure: ')+jsondata.data.imported+'/'+jsondata.data.failed);
$('#chooseaddressbook_dialog').find('#close_button').val(t('contacts', 'OK'));
Contacts.UI.Contacts.update();
+ setTimeout(
+ function() {
+ $(Contacts.UI.Addressbooks.droptarget).html(Contacts.UI.Addressbooks.droptext);
+ }, 5000);
} else {
OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error'));
}
@@ -1590,7 +1628,7 @@ $(document).ready(function(){
* Profile picture upload handling
*/
// New profile picture selected
- $('#file_upload_start').live('change',function(){
+ $('#file_upload_start').change(function(){
Contacts.UI.Card.uploadPhoto(this.files);
});
$('#contacts_details_photo_wrapper').bind('dragover',function(event){
@@ -1662,7 +1700,7 @@ $(document).ready(function(){
};
// Start loading indicator.
//$('#contacts_details_photo_progress').show()();
- xhr.open("POST", OC.filePath('contacts', 'ajax', 'uploadphoto.php')+'?id='+Contacts.UI.Card.id+'&imagefile='+encodeURIComponent(file.name), true);
+ xhr.open('POST', OC.filePath('contacts', 'ajax', 'uploadphoto.php')+'?id='+Contacts.UI.Card.id+'&imagefile='+encodeURIComponent(file.name), true);
xhr.setRequestHeader('Cache-Control', 'no-cache');
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('X_FILE_NAME', encodeURIComponent(file.name));
@@ -1691,4 +1729,4 @@ $(document).ready(function(){
Contacts.UI.Card.addProperty(type);
$('#contacts_propertymenu').hide();
});
-}); \ No newline at end of file
+});