mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-08 22:24:31 -04:00
Working on the API
This commit is contained in:
parent
d0f8ee7797
commit
cb243fec0a
@ -52,7 +52,7 @@ class AccountApiController extends BaseAPIController
|
|||||||
$users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens');
|
$users = $this->accountRepo->findUsers(Auth::user(), 'account.account_tokens');
|
||||||
$resource = new Collection($users, new UserAccountTransformer($request->token_name));
|
$resource = new Collection($users, new UserAccountTransformer($request->token_name));
|
||||||
|
|
||||||
return $this->returnData($resource);
|
return $this->returnData($resource, 'user_accounts');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function show($accountKey)
|
public function show($accountKey)
|
||||||
|
@ -16,9 +16,14 @@ class BaseAPIController extends Controller
|
|||||||
$this->manager->setSerializer(new ArraySerializer());
|
$this->manager->setSerializer(new ArraySerializer());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function returnData($resource)
|
protected function returnData($resource, $class = false)
|
||||||
{
|
{
|
||||||
$response = $this->manager->createData($resource)->toArray();
|
$response = $this->manager->createData($resource)->toArray();
|
||||||
|
|
||||||
|
if ($class) {
|
||||||
|
$response = [$class => $response];
|
||||||
|
}
|
||||||
|
|
||||||
$response = json_encode($response, JSON_PRETTY_PRINT);
|
$response = json_encode($response, JSON_PRETTY_PRINT);
|
||||||
$headers = Utils::getApiHeaders();
|
$headers = Utils::getApiHeaders();
|
||||||
|
|
||||||
|
@ -3,9 +3,14 @@
|
|||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use League\Fractal;
|
use League\Fractal;
|
||||||
use League\Fractal\TransformerAbstract;
|
use League\Fractal\TransformerAbstract;
|
||||||
|
use League\Fractal\Resource\Item;
|
||||||
|
|
||||||
class UserAccountTransformer extends TransformerAbstract
|
class UserAccountTransformer extends TransformerAbstract
|
||||||
{
|
{
|
||||||
|
protected $defaultIncludes = [
|
||||||
|
'user'
|
||||||
|
];
|
||||||
|
|
||||||
protected $tokenName;
|
protected $tokenName;
|
||||||
|
|
||||||
public function __construct($tokenName)
|
public function __construct($tokenName)
|
||||||
@ -13,17 +18,17 @@ class UserAccountTransformer extends TransformerAbstract
|
|||||||
$this->tokenName = $tokenName;
|
$this->tokenName = $tokenName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function includeUser(User $user)
|
||||||
|
{
|
||||||
|
return $this->item($user, new UserTransformer);
|
||||||
|
}
|
||||||
|
|
||||||
public function transform(User $user)
|
public function transform(User $user)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'account_key' => $user->account->account_key,
|
'account_key' => $user->account->account_key,
|
||||||
'name' => $user->account->name,
|
'name' => $user->account->name,
|
||||||
'token' => $user->account->getToken($this->tokenName),
|
'token' => $user->account->getToken($this->tokenName),
|
||||||
'user' => [
|
|
||||||
'first_name' => $user->first_name,
|
|
||||||
'last_name' => $user->last_name,
|
|
||||||
'email' => $user->email,
|
|
||||||
]
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -9,7 +9,7 @@ class UserTransformer extends TransformerAbstract
|
|||||||
public function transform(User $user)
|
public function transform(User $user)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'id' => (int) $user->id,
|
'id' => (int) ($user->public_id + 1),
|
||||||
'first_name' => $user->first_name,
|
'first_name' => $user->first_name,
|
||||||
'last_name' => $user->last_name,
|
'last_name' => $user->last_name,
|
||||||
'email' => $user->email,
|
'email' => $user->email,
|
||||||
|
@ -50,21 +50,22 @@
|
|||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(function() {
|
$(function() {
|
||||||
var {{ $field }}Editor = new Quill('#{{ $field }}Editor', {
|
var editor = new Quill('#{{ $field }}Editor', {
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': { container: '#{{ $field }}Toolbar' },
|
'toolbar': { container: '#{{ $field }}Toolbar' },
|
||||||
'link-tooltip': true
|
'link-tooltip': true
|
||||||
},
|
},
|
||||||
theme: 'snow'
|
theme: 'snow'
|
||||||
});
|
});
|
||||||
{{ $field }}Editor.setHTML($('#email_template_{{ $field }}').val());
|
editor.setHTML($('#email_template_{{ $field }}').val());
|
||||||
{{ $field }}Editor.on('text-change', function(delta, source) {
|
editor.on('text-change', function(delta, source) {
|
||||||
if (source == 'api') {
|
if (source == 'api') {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var html = {{ $field }}Editor.getHTML();
|
var html = editors['{{ $field }}'].getHTML();
|
||||||
$('#email_template_{{ $field }}').val(html);
|
$('#email_template_{{ $field }}').val(html);
|
||||||
refreshPreview();
|
refreshPreview();
|
||||||
});
|
});
|
||||||
|
editors['{{ $field }}'] = editor;
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
@ -12,6 +12,10 @@
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
var editors = [];
|
||||||
|
</script>
|
||||||
|
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
@ -185,6 +189,7 @@
|
|||||||
var fieldName = 'email_' + section + '_' + field;
|
var fieldName = 'email_' + section + '_' + field;
|
||||||
var value = templates[field][section];
|
var value = templates[field][section];
|
||||||
$('#' + fieldName).val(value);
|
$('#' + fieldName).val(value);
|
||||||
|
editors[field].setHTML(value);
|
||||||
refreshPreview();
|
refreshPreview();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
<div class="quill-wrapper">
|
||||||
|
<div id="toolbar-toolbar" class="toolbar ql-toolbar ql-snow">
|
||||||
<div id="{{ $field }}Toolbar" class="toolbar" style="padding-left: 0px">
|
<div id="{{ $field }}Toolbar" class="toolbar" style="padding-left: 0px">
|
||||||
<span class="ql-format-group">
|
<span class="ql-format-group">
|
||||||
<select title="Font" class="ql-font">
|
<select title="Font" class="ql-font">
|
||||||
@ -110,4 +112,9 @@
|
|||||||
<option value="justify" label="Justify"></option>
|
<option value="justify" label="Justify"></option>
|
||||||
</select>
|
</select>
|
||||||
</span>
|
</span>
|
||||||
|
<span class="ql-format-group">
|
||||||
|
<span title="Link" class="ql-format-button ql-link"></span>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
Loading…
x
Reference in New Issue
Block a user