ownCloud Integration App (#144)

+ external sso functionality
This commit is contained in:
RainLoop Team 2014-05-14 03:08:27 +04:00
parent e82108ac85
commit 4a47796781
29 changed files with 724 additions and 195 deletions

View file

@ -0,0 +1,13 @@
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2014 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
$(function() {
RainLoopFormHelper('#mail-rainloop-admin-form', 'admin.php');
});

View file

@ -0,0 +1,13 @@
/**
* ownCloud - RainLoop mail plugin
*
* @author RainLoop Team
* @copyright 2014 RainLoop Team
*
* https://github.com/RainLoop/rainloop-webmail/tree/master/build/owncloud
*/
$(function() {
RainLoopFormHelper('#mail-rainloop-personal-form', 'personal.php');
});

View file

@ -0,0 +1,76 @@
function RainLoopFormHelper(sID, sAjaxFile, fCallback)
{
try
{
var
oForm = $(sID),
oSubmit = $('#rainloop-save-button', oForm),
sSubmitValue = oSubmit.val(),
oDesc = oForm.find('.rainloop-result-desc')
;
oSubmit.click(function (oEvent) {
var oDefAjax = null;
oEvent.preventDefault();
oForm
.addClass('rainloop-ajax')
.removeClass('rainloop-error')
.removeClass('rainloop-success')
;
oDesc.text('');
oSubmit.val('...');
oDefAjax = $.ajax({
'type': 'POST',
'async': true,
'url': OC.filePath('rainloop', 'ajax', sAjaxFile),
'data': oForm.serialize(),
'dataType': 'json',
'global': true
});
oDefAjax.always(function (oData) {
var bResult = false;
oForm.removeClass('rainloop-ajax');
oSubmit.val(sSubmitValue);
if (oData)
{
bResult = 'success' === oData['status'];
if (oData['Message'])
{
oDesc.text(oData['Message']);
}
}
if (bResult)
{
oForm.addClass('rainloop-success');
}
else
{
oForm.addClass('rainloop-error');
if ('' === oDesc.text())
{
oDesc.text('Error');
}
}
if (fCallback)
{
fCallback(bResult, oData);
}
});
return false;
});
}
catch(e) {}
}