added payload, new MS webhook test method
This commit is contained in:
parent
0c6611d6bd
commit
93ef8317e8
3 changed files with 108 additions and 2 deletions
|
@ -48,6 +48,12 @@ class SlackSettingsForm extends Component
|
||||||
"placeholder" => "",
|
"placeholder" => "",
|
||||||
"link" => "",
|
"link" => "",
|
||||||
),
|
),
|
||||||
|
"ms_teams" => array(
|
||||||
|
"name" => trans('admin/settings/general.ms_teams'),
|
||||||
|
"icon" => "fa-brands fa-microsoft",
|
||||||
|
"placeholder" => "https://abcd.webhook.office.com/webhookb2/XXXXXXX",
|
||||||
|
"link" => "",
|
||||||
|
),
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->setting = Setting::getSettings();
|
$this->setting = Setting::getSettings();
|
||||||
|
@ -178,4 +184,60 @@ class SlackSettingsForm extends Component
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
public function msTeamTestWebhook(){
|
||||||
|
$webhook = new Client([
|
||||||
|
'base_url' => e($this->webhook_endpoint),
|
||||||
|
'defaults' => [
|
||||||
|
'exceptions' => false,
|
||||||
|
],
|
||||||
|
'allow_redirects' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
$payload = json_encode(
|
||||||
|
[
|
||||||
|
"@type"=> "MessageCard",
|
||||||
|
"@context"=> "http://schema.org/extensions",
|
||||||
|
"themeColor"=> "0076D7",
|
||||||
|
"summary"=> trans('mail.Asset_Checkin_Notification'),
|
||||||
|
"sections"=> [
|
||||||
|
"activityTitle"=> "Larry Bryant created a new task",
|
||||||
|
"activitySubtitle"=> "On Project Tango",
|
||||||
|
"activityImage"=> "https://adaptivecards.io/content/cats/3.png",
|
||||||
|
"facts"=> [
|
||||||
|
["name"=> "Assigned to",
|
||||||
|
"value"=> "Unassigned"
|
||||||
|
]
|
||||||
|
,
|
||||||
|
["name"=> "Due date",
|
||||||
|
"value"=> "Mon May 01 2017 17:07:18 GMT-0700 (Pacific Daylight Time)"
|
||||||
|
]
|
||||||
|
,
|
||||||
|
["name"=> "Status",
|
||||||
|
"value"=> "Not started"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"markdown"=> true
|
||||||
|
]]
|
||||||
|
);
|
||||||
|
try {
|
||||||
|
$test = $webhook->post($this->webhook_endpoint, ['body' => $payload]);
|
||||||
|
|
||||||
|
if(($test->getStatusCode() == 302)||($test->getStatusCode() == 301)){
|
||||||
|
return session()->flash('error' , trans('admin/settings/message.webhook.error_redirect', ['endpoint' => $this->webhook_endpoint]));
|
||||||
|
}
|
||||||
|
$this->isDisabled='';
|
||||||
|
$this->save_button = trans('general.save');
|
||||||
|
return session()->flash('success' , trans('admin/settings/message.webhook.success', ['webhook_name' => $this->webhook_name]));
|
||||||
|
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
|
||||||
|
$this->isDisabled='disabled';
|
||||||
|
$this->save_button = trans('admin/settings/general.webhook_presave');
|
||||||
|
return session()->flash('error' , trans('admin/settings/message.webhook.error', ['error_message' => $e->getMessage(), 'app' => $this->webhook_name]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return session()->flash('error' , trans('admin/settings/message.webhook.error_misc'));
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,6 +84,46 @@ class CheckinAssetNotification extends Notification
|
||||||
->content($note);
|
->content($note);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
public function toMsTeams()
|
||||||
|
{
|
||||||
|
$admin = $this->admin;
|
||||||
|
$item = $this->item;
|
||||||
|
$note = $this->note;
|
||||||
|
|
||||||
|
$fields = [
|
||||||
|
trans('general.administrator') => '<'.$admin->present()->viewUrl().'|'.$admin->present()->fullName().'>',
|
||||||
|
trans('general.status') => $item->assetstatus->name,
|
||||||
|
trans('general.location') => ($item->location) ? $item->location->name : '',
|
||||||
|
];
|
||||||
|
|
||||||
|
$payload = json_encode(
|
||||||
|
[
|
||||||
|
"@type"=> "MessageCard",
|
||||||
|
"@context"=> "http://schema.org/extensions",
|
||||||
|
"themeColor"=> "0076D7",
|
||||||
|
"summary"=> trans('mail.Asset_Checkin_Notification'),
|
||||||
|
"sections"=> [
|
||||||
|
"activityTitle"=> "Larry Bryant created a new task",
|
||||||
|
"activitySubtitle"=> "On Project Tango",
|
||||||
|
"activityImage"=> "https://adaptivecards.io/content/cats/3.png",
|
||||||
|
"facts"=> [
|
||||||
|
["name"=> "Assigned to",
|
||||||
|
"value"=> "Unassigned"
|
||||||
|
]
|
||||||
|
,
|
||||||
|
["name"=> "Due date",
|
||||||
|
"value"=> "Mon May 01 2017 17:07:18 GMT-0700 (Pacific Daylight Time)"
|
||||||
|
]
|
||||||
|
,
|
||||||
|
["name"=> "Status",
|
||||||
|
"value"=> "Not started"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"markdown"=> true
|
||||||
|
]]
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the mail representation of the notification.
|
* Get the mail representation of the notification.
|
||||||
|
|
|
@ -61,9 +61,9 @@
|
||||||
<div class="col-md-9 required" wire:ignore>
|
<div class="col-md-9 required" wire:ignore>
|
||||||
|
|
||||||
@if (Helper::isDemoMode())
|
@if (Helper::isDemoMode())
|
||||||
{{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'style'=>'width:100%', 'disabled')) }}
|
{{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'), 'ms_teams' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'style'=>'width:100%', 'disabled')) }}
|
||||||
@else
|
@else
|
||||||
{{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'data-minimum-results-for-search' => '-1', 'style'=>'width:100%')) }}
|
{{ Form::select('webhook_selected', array('slack' => trans('admin/settings/general.slack'), 'general' => trans('admin/settings/general.general_webhook'), 'ms_teams' => trans('admin/settings/general.ms_teams')), old('webhook_selected', $webhook_selected), array('class'=>'select2 form-control', 'aria-label' => 'webhook_selected', 'id' => 'select2', 'data-minimum-results-for-search' => '-1', 'style'=>'width:100%')) }}
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -124,7 +124,11 @@
|
||||||
@if($webhook_endpoint != null && $webhook_channel != null)
|
@if($webhook_endpoint != null && $webhook_channel != null)
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-offset-2 col-md-9">
|
<div class="col-md-offset-2 col-md-9">
|
||||||
|
@if($webhook_selected == "ms_teams")
|
||||||
<a href="#" wire:click.prevent="testWebhook"
|
<a href="#" wire:click.prevent="testWebhook"
|
||||||
|
@else
|
||||||
|
<a href="#" wire:click.prevent="testWebhook"
|
||||||
|
@endif
|
||||||
class="btn btn-default btn-sm pull-left">
|
class="btn btn-default btn-sm pull-left">
|
||||||
<i class="{{$webhook_icon}}" aria-hidden="true"></i>
|
<i class="{{$webhook_icon}}" aria-hidden="true"></i>
|
||||||
{!! trans('admin/settings/general.webhook_test',['app' => ucwords($webhook_selected) ]) !!}
|
{!! trans('admin/settings/general.webhook_test',['app' => ucwords($webhook_selected) ]) !!}
|
||||||
|
|
Loading…
Add table
Reference in a new issue