OneBot: Leantime 改造版源码(BOM/Univer 表格/AI 接管/品牌替换等)
This commit is contained in:
22
app/Domain/Setting/Templates/editBoxDialog.blade.php
Normal file
22
app/Domain/Setting/Templates/editBoxDialog.blade.php
Normal file
@@ -0,0 +1,22 @@
|
||||
@extends($layout)
|
||||
@section('content')
|
||||
|
||||
<h4 class="widgettitle title-light">{!! __('headlines.edit_label') !!}</h4>
|
||||
|
||||
{!! $tpl->displayNotification() !!}
|
||||
|
||||
<form class="formModal" method="post" action="{{ BASE_URL }}/setting/editBoxLabel?{{ http_build_query(['module' => request()->query('module', ''), 'label' => request()->query('label', '')]) }}">
|
||||
|
||||
<label>{!! __('label.label') !!}</label>
|
||||
<x-global::forms.text-input name="newLabel" value="{{ $currentLabel }}" /><br />
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<x-global::forms.button tag="input" inputType="submit" contentRole="primary" :labelText="__('buttons.save')" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@endsection
|
||||
264
app/Domain/Setting/Templates/editCompanySettings.blade.php
Normal file
264
app/Domain/Setting/Templates/editCompanySettings.blade.php
Normal file
@@ -0,0 +1,264 @@
|
||||
@extends($layout)
|
||||
@section('content')
|
||||
|
||||
<div class="pageheader">
|
||||
|
||||
<div class="pageicon"><span class="fa fa-cogs"></span></div>
|
||||
<div class="pagetitle">
|
||||
<h5>{!! __('label.administration') !!}</h5>
|
||||
<h1>{!! __('headlines.company_settings') !!}</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="maincontent">
|
||||
{!! $tpl->displayNotification() !!}
|
||||
<div class="maincontentinner">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="tabbedwidget tab-primary companyTabs">
|
||||
|
||||
<ul>
|
||||
<li><a href="#details"><span class="fa fa-building"></span> {!! __('tabs.details') !!}</a></li>
|
||||
<li><a href="#apiKeys"><i class="fa-solid fa-key"></i> {!! __('tabs.apiKeys') !!}</a></li>
|
||||
@dispatchEvent('tabs')
|
||||
</ul>
|
||||
|
||||
|
||||
<div id="details">
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<form class="" method="post" id="" action="{{ BASE_URL }}/setting/editCompanySettings#details" >
|
||||
<p>{!! __('text.these_are_system_wide_settings') !!}</p>
|
||||
<br />
|
||||
<input type="hidden" value="1" name="saveSettings" />
|
||||
|
||||
<h4 class="widgettitle title-light"><span
|
||||
class="fa fa-building"></span>{!! __('subtitles.companydetails') !!}
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{!! __('label.language') !!}</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<select name="language" id="language">
|
||||
@foreach ($languageList as $languagKey => $languageValue)
|
||||
<option
|
||||
value="{{ $languagKey }}"
|
||||
@if ($companySettings['language'] == $languagKey) selected='selected' @endif>{{ $languageValue }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label>{!! __('label.company_name') !!}</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<x-global::forms.text-input name="name" id="companyName" value="{{ $companySettings['name'] }}" class="pull-left" />
|
||||
<small>{!! __('text.company_name_helper') !!}</small>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h4 class="widgettitle title-light"><span
|
||||
class="fa fa-cog"></span>{!! __('subtitles.defaults') !!}
|
||||
</h4>
|
||||
<div class="row">
|
||||
<div class="col-md-2">
|
||||
<label for="messageFrequency">{!! __('label.messages_frequency') !!}</label>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
<span class='field'>
|
||||
<select name="messageFrequency" class="input" id="messageFrequency" style="width: 220px">
|
||||
<option value="">--{!! __('label.choose_option') !!}--</option>
|
||||
<option value="300" @if ($companySettings['messageFrequency'] == '300') selected @endif>{!! __('label.5min') !!}</option>
|
||||
<option value="900" @if ($companySettings['messageFrequency'] == '900') selected @endif>{!! __('label.15min') !!}</option>
|
||||
<option value="1800" @if ($companySettings['messageFrequency'] == '1800') selected @endif>{!! __('label.30min') !!}</option>
|
||||
<option value="3600" @if ($companySettings['messageFrequency'] == '3600') selected @endif>{!! __('label.1h') !!}</option>
|
||||
<option value="10800" @if ($companySettings['messageFrequency'] == '10800') selected @endif>{!! __('label.3h') !!}</option>
|
||||
<option value="36000" @if ($companySettings['messageFrequency'] == '36000') selected @endif>{!! __('label.6h') !!}</option>
|
||||
<option value="43200" @if ($companySettings['messageFrequency'] == '43200') selected @endif>{!! __('label.12h') !!}</option>
|
||||
<option value="86400" @if ($companySettings['messageFrequency'] == '86400') selected @endif>{!! __('label.24h') !!}</option>
|
||||
<option value="172800" @if ($companySettings['messageFrequency'] == '172800') selected @endif>{!! __('label.48h') !!}</option>
|
||||
<option value="604800" @if ($companySettings['messageFrequency'] == '604800') selected @endif>{!! __('label.1w') !!}</option>
|
||||
</select> <br/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
<h4 class="widgettitle title-light"><span
|
||||
class="fa fa-bell"></span>{!! __('label.default_notification_types') !!}
|
||||
</h4>
|
||||
<p>{!! __('label.default_notification_types_description') !!}</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
@php
|
||||
$categoryLabels = [
|
||||
'tasks' => 'label.notification_category_tasks',
|
||||
'comments' => 'label.notification_category_comments',
|
||||
'goals' => 'label.notification_category_goals',
|
||||
'ideas' => 'label.notification_category_ideas',
|
||||
'projects' => 'label.notification_category_projects',
|
||||
'boards' => 'label.notification_category_boards',
|
||||
];
|
||||
@endphp
|
||||
@foreach ($notificationCategories as $categoryKey => $config)
|
||||
<div class="form-group">
|
||||
<label style="display:flex; align-items:flex-start; gap:8px; cursor:pointer; padding:4px 0;">
|
||||
<input type="checkbox"
|
||||
name="defaultNotificationEventTypes[]"
|
||||
value="{{ $categoryKey }}"
|
||||
style="margin-top:3px;"
|
||||
@if (in_array($categoryKey, $defaultNotificationTypes)) checked="checked" @endif
|
||||
/>
|
||||
<span>
|
||||
<strong>{!! __($categoryLabels[$categoryKey] ?? $categoryKey) !!}</strong><br />
|
||||
<small style="color:#888;">{!! __($config['description'] ?? '') !!}</small>
|
||||
</span>
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<h4 class="widgettitle title-light"><span
|
||||
class="fa fa-sliders"></span>{!! __('label.default_notification_relevance') !!}
|
||||
</h4>
|
||||
<p>{!! __('label.default_notification_relevance_description') !!}</p>
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="form-group">
|
||||
<select name="defaultNotificationRelevance" class="form-control" style="max-width:300px;">
|
||||
@foreach ($relevanceLevels as $level => $labelKey)
|
||||
<option value="{{ $level }}" @if ($defaultRelevance === $level) selected @endif>
|
||||
{!! __($labelKey) !!}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<x-global::forms.button tag="input" inputType="submit" contentRole="primary" :labelText="__('buttons.save')" id="saveBtn" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
|
||||
<form class="" method="post" id="" action="{{ BASE_URL }}/setting/editCompanySettings" >
|
||||
<input type="hidden" value="1" name="saveLogo" />
|
||||
<h5 class="widgettitle title-light">{!! __('headlines.logo') !!}</h5>
|
||||
<br />
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
@if ($companySettings['logo'] != '')
|
||||
<img src='{{ $companySettings['logo'] }}' class='logoImg' alt='Logo' id="previousImage" width="260"/>
|
||||
@else
|
||||
{!! __('text.no_logo') !!}
|
||||
@endif
|
||||
<div id="logoImg" style="height:auto;">
|
||||
</div>
|
||||
<br />
|
||||
<div class="par">
|
||||
|
||||
<label>{!! __('label.upload_new_logo') !!}</label>
|
||||
|
||||
<div class='fileupload fileupload-new' data-provides='fileupload'>
|
||||
<input type="hidden"/>
|
||||
<div class="input-append">
|
||||
<div class="uneditable-input span3">
|
||||
<i class="fa-file fileupload-exists"></i>
|
||||
<span class="fileupload-preview"></span>
|
||||
</div>
|
||||
<span class="btn btn-default btn-file">
|
||||
<span class="fileupload-new">{!! __('buttons.select_file') !!}</span>
|
||||
<span class='fileupload-exists'>{!! __('buttons.change') !!}</span>
|
||||
<input type='file' name='file' onchange="leantime.settingController.readURL(this)" />
|
||||
</span>
|
||||
|
||||
<a href='#' style="margin-left:5px;" class='btn btn-default fileupload-exists' data-dismiss='fileupload' onclick="leantime.usersController.clearCroppie()">{!! __('buttons.remove') !!}</a>
|
||||
</div>
|
||||
<p class='stdformbutton'>
|
||||
<span id="save-logo" class="btn btn-primary fileupload-exists ld-ext-right">
|
||||
<span onclick="leantime.settingController.saveCroppie()">{!! __('buttons.save') !!}</span>
|
||||
<span class="ld ld-ring ld-spin"> </span>
|
||||
</span>
|
||||
|
||||
<input id="picSubmit" type="submit" name="savePic" class="hidden" value="{{ __('buttons.upload') }}" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<hr />
|
||||
{!! __('text.logo_reset') !!}<br /><br />
|
||||
<x-global::forms.button tag="a" link="{{ BASE_URL }}/setting/editCompanySettings?resetLogo=1" contentRole="default">{!! __('buttons.reset_logo') !!}</x-global::forms.button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="apiKeys">
|
||||
<x-global::forms.button tag="a" link="#/api/newApiKey" contentRole="primary">Generate API Key</x-global::forms.button>
|
||||
<br /> <br />
|
||||
<ul class="sortableTicketList">
|
||||
|
||||
|
||||
@foreach ($apiKeys as $apiKey)
|
||||
<li>
|
||||
<div class="ticketBox">
|
||||
<div class="inlineDropDownContainer">
|
||||
<a href="javascript:void(0)" class="dropdown-toggle ticketDropDown" data-toggle="dropdown">
|
||||
<i class="fa fa-ellipsis-v" aria-hidden="true"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
|
||||
<li><a href="#/api/apiKey/{{ $apiKey['id'] }}"><i class="fa fa-edit"></i> Edit Key</a></li>
|
||||
<li><a href="{{ BASE_URL }}/api/delAPIKey/{{ $apiKey['id'] }}" class="delete"><i class="fa fa-trash"></i> Delete Key</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="#/api/apiKey/{{ $apiKey['id'] }}"><strong>{{ $apiKey['firstname'] }}</strong></a><br />
|
||||
lt_{{ $apiKey['username'] }}***
|
||||
| {!! __('labels.created_on') !!}: {{ format($apiKey['createdOn'])->date() }} | {!! __('labels.last_used') !!}: {{ format($apiKey['lastlogin'])->date() }}
|
||||
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
@dispatchEvent('tabsContent')
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@once
|
||||
@push('scripts')
|
||||
<script>
|
||||
jQuery(document).ready(function() {
|
||||
jQuery(".companyTabs").tabs({
|
||||
activate: function (event, ui) {
|
||||
|
||||
window.location.hash = ui.newPanel.selector;
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endonce
|
||||
|
||||
@endsection
|
||||
Reference in New Issue
Block a user