Initial commit: CloudOps infrastructure platform
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
{#
|
||||
Variables
|
||||
- deleted
|
||||
- id
|
||||
- route
|
||||
- sessionId
|
||||
#}
|
||||
{% set action = deleted ? 'undelete' : 'delete' %}
|
||||
{% set iconClass = deleted ? 'ri-arrow-go-back-line' : 'ri-close-line' %}
|
||||
{% set btnClass = deleted ? 'btn-warning' : 'btn-danger' %}
|
||||
{% set route = route|default('mautic_pointtriggerevent_action') %}
|
||||
<div class="form-buttons hide">
|
||||
<a data-toggle="ajaxmodal" data-target="#triggerEventModal" href="{{ path(route, {'objectAction': 'edit', 'objectId': id, 'triggerId': sessionId}) }}" class="btn btn-primary btn-xs btn-edit">
|
||||
<i class="ri-edit-line"></i>
|
||||
</a>
|
||||
<a data-menu-link="mautic_point_index" data-toggle="ajax" data-ignore-formexit="true" data-method="POST" data-hide-loadingbar="true" href="{{ path(route, {'objectAction': action, 'objectId': id, 'triggerId': sessionId}) }}" class="btn {{ btnClass }} btn-xs">
|
||||
<i class="{{ iconClass }}"></i>
|
||||
</a>
|
||||
<i class="ri-fw ri-more-2-line reorder-handle"></i>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
{% if formTheme is defined %}
|
||||
{% form_theme form formTheme %}
|
||||
{% endif %}
|
||||
<div class="bundle-form">
|
||||
<div class="bundle-form-header">
|
||||
<h3>{{ eventHeader }}</h3>
|
||||
</div>
|
||||
{{ form(form) }}
|
||||
</div>
|
||||
@@ -0,0 +1,20 @@
|
||||
{#
|
||||
Variables
|
||||
- event
|
||||
- id
|
||||
- sessionId
|
||||
- deleted (bool, optional)
|
||||
#}
|
||||
{% set deleted = deleted|default(false) %}
|
||||
<div class="trigger-event-row {% if deleted %}bg-danger{% endif %}" id="triggerEvent_{{ id }}">
|
||||
{{ include('@MauticPoint/Event/actions.html.twig', {
|
||||
'deleted': deleted,
|
||||
'id': id,
|
||||
'route': 'mautic_pointtriggerevent_action',
|
||||
'sessionId': sessionId|default(''),
|
||||
}) }}
|
||||
<span class="trigger-event-label">{{ event.name }}</span>
|
||||
{% if event.description is not empty %}
|
||||
<span class="trigger-event-descr">{{ event.description|purify }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
{% block _pointaction_properties_row %}
|
||||
{{ form_widget(form) }}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,33 @@
|
||||
{% extends '@MauticCore/Default/content.html.twig' %}
|
||||
|
||||
{% block mauticContent %}group{% endblock %}
|
||||
|
||||
{% block headerTitle %}
|
||||
{% if entity.id %}
|
||||
{{ 'mautic.point.group.menu.edit'|trans }}
|
||||
{% else %}
|
||||
{{ 'mautic.point.group.menu.new'|trans }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
{{ form_start(form) }}
|
||||
<!-- start: box layout -->
|
||||
<div class="box-layout">
|
||||
<!-- container -->
|
||||
<div class="col-md-9 height-auto bdr-r">
|
||||
<div class="pa-md">
|
||||
{{ form_row(form.name) }}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 height-auto">
|
||||
<div class="pr-lg pl-lg pt-md pb-md">
|
||||
{{ form_row(form.isPublished) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end: box layout -->
|
||||
{{ form_end(form) }}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,139 @@
|
||||
{% set isIndex = 'index' == tmpl ? true : false %}
|
||||
{% set tmpl = 'list' %}
|
||||
{% extends isIndex ? '@MauticCore/Default/content.html.twig' : '@MauticCore/Default/raw_output.html.twig' %}
|
||||
{% block mauticContent %}group{% endblock %}
|
||||
|
||||
{% block headerTitle %}{{ 'mautic.point.group.header.index'|trans }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div id="page-list-wrapper" class="{% if items|length > 0 or searchValue is not empty %}panel {% endif %}panel-default">
|
||||
{{- include('@MauticCore/Helper/list_toolbar.html.twig', {
|
||||
'searchValue': searchValue,
|
||||
'action': currentRoute,
|
||||
'page_actions': {
|
||||
'templateButtons': {
|
||||
'new': permissions['point:groups:create']
|
||||
},
|
||||
'routeBase': 'point.group',
|
||||
'langVar': 'point.group'
|
||||
},
|
||||
'bulk_actions': {
|
||||
'langVar': 'point.group',
|
||||
'routeBase': 'point.group',
|
||||
'templateButtons': {
|
||||
'delete': permissions['point:groups:delete'],
|
||||
},
|
||||
},
|
||||
}) -}}
|
||||
<div class="page-list">
|
||||
{% if items is defined and items is not empty %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover" id="groupTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'checkall': 'true',
|
||||
'target': '#groupTable',
|
||||
}) }}
|
||||
{{ include(
|
||||
'@MauticCore/Helper/tableheader.html.twig',
|
||||
{
|
||||
'sessionVar': 'point.group',
|
||||
'orderBy' : 'pl.name',
|
||||
'text' : 'mautic.core.name',
|
||||
'class' : 'col-group-name',
|
||||
'default' : true,
|
||||
}
|
||||
) }}
|
||||
|
||||
{{ include(
|
||||
'@MauticCore/Helper/tableheader.html.twig',
|
||||
{
|
||||
'sessionVar' : 'point.group',
|
||||
'orderBy' : 'pl.id',
|
||||
'text' : 'mautic.core.id',
|
||||
'class' : 'visible-md visible-lg col-group-id',
|
||||
}
|
||||
) }}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in items %}
|
||||
<tr>
|
||||
<td>
|
||||
{{- include('@MauticCore/Helper/list_actions.html.twig', {
|
||||
item: item,
|
||||
templateButtons: {
|
||||
edit: permissions['point:groups:edit'],
|
||||
delete: permissions['point:groups:delete'],
|
||||
},
|
||||
routeBase: 'point.group',
|
||||
langVar: 'point.group',
|
||||
}) -}}
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
{{- include(
|
||||
'@MauticCore/Helper/publishstatus_icon.html.twig',
|
||||
{
|
||||
'item': item, 'model': 'point.group'
|
||||
}
|
||||
)}}
|
||||
|
||||
{% if permissions['point:groups:edit'] %}
|
||||
<a href="{{ path('mautic_point.group_action', {
|
||||
objectAction: 'edit',
|
||||
objectId: item.getId()
|
||||
}) }}" data-toggle="ajax">
|
||||
{{ item.getName() }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ item.getName() }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{% set description = item.getDescription() %}
|
||||
{{ include('@MauticCore/Helper/description--inline.html.twig', {
|
||||
'description': item.description
|
||||
}) }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">{{ item.getId() }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="panel-footer">
|
||||
{{- include('@MauticCore/Helper/pagination.html.twig', {
|
||||
'totalItems' : items|length,
|
||||
'page' : page,
|
||||
'limit' : limit,
|
||||
'baseUrl' : path('mautic_point.group_index'),
|
||||
'sessionVar' : 'point.group',
|
||||
}) -}}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
{% if searchValue is not empty %}
|
||||
{{ include('@MauticCore/Helper/noresults.html.twig') }}
|
||||
{% else %}
|
||||
<div class="mt-80 col-md-offset-2 col-lg-offset-3 col-md-8 col-lg-5 height-auto">
|
||||
{% set childContainer %}
|
||||
<div class="mb-md">
|
||||
{% include '@MauticCore/Components/pictogram.html.twig' with {
|
||||
'pictogram': 'filter-and-group-data',
|
||||
'size': '80'
|
||||
} %}
|
||||
</div>
|
||||
{% endset %}
|
||||
|
||||
{{ include('@MauticCore/Components/content-block.html.twig', {
|
||||
heading: 'mautic.point.group.onboarding.heading',
|
||||
subheading: 'mautic.point.group.onboarding.subheading',
|
||||
copy: 'mautic.point.group.onboarding.copy',
|
||||
childContainer: childContainer,
|
||||
}) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,141 @@
|
||||
{% if items|length > 0 %}
|
||||
<div class="table-responsive page-list">
|
||||
<table class="table table-hover point-list" id="pointTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'checkall': 'true',
|
||||
'target': '#pointTable',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point',
|
||||
'orderBy': 'p.name',
|
||||
'text': 'mautic.core.name',
|
||||
'class': 'col-point-name',
|
||||
'default': true,
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point',
|
||||
'orderBy': 'cat.title',
|
||||
'text': 'mautic.core.category',
|
||||
'class': 'visible-md visible-lg col-point-category',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point',
|
||||
'orderBy': 'pl.name',
|
||||
'text': 'mautic.point.thead.group',
|
||||
'class': 'visible-md visible-lg col-point-group',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point',
|
||||
'orderBy': 'p.delta',
|
||||
'text': 'mautic.point.thead.delta',
|
||||
'class': 'visible-md visible-lg col-point-delta',
|
||||
}) }}
|
||||
|
||||
<th class="col-point-action">{{ 'mautic.point.thead.action'|trans }}</th>
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point',
|
||||
'orderBy': 'p.id',
|
||||
'text': 'mautic.core.id',
|
||||
'class': 'visible-md visible-lg col-point-id',
|
||||
}) }}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in items %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ include('@MauticCore/Helper/list_actions.html.twig', {
|
||||
'item': item,
|
||||
'templateButtons': {
|
||||
'edit': permissions['point:points:edit'],
|
||||
'clone': permissions['point:points:create'],
|
||||
'delete': permissions['point:points:delete'],
|
||||
},
|
||||
'routeBase': 'point',
|
||||
}) }}
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
{{ include('@MauticCore/Helper/publishstatus_icon.html.twig', {'item': item, 'model': 'point'}) }}
|
||||
{% if permissions['point:points:edit'] %}
|
||||
<a href="{{ path('mautic_point_action', {'objectAction': 'edit', 'objectId': item.id}) }}" data-toggle="ajax">
|
||||
{{ item.name }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ item.name }}
|
||||
{% endif %}
|
||||
{{ customContent('point.name', _context) }}
|
||||
</div>
|
||||
{{ include('@MauticCore/Helper/description--inline.html.twig', {
|
||||
'description': item.description
|
||||
}) }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">
|
||||
{{ include('@MauticCore/Modules/category--expanded.html.twig', {'category': item.category}) }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">
|
||||
{% set group = item.group %}
|
||||
{% set groupName = group.name|default('mautic.point.group.form.nogroup'|trans) %}
|
||||
{{ groupName }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">{{ item.delta }}</td>
|
||||
<td>{{ actions[item.type].label|default('')|trans }}</td>
|
||||
<td class="visible-md visible-lg">{{ item.id }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
{{ include('@MauticCore/Helper/pagination.html.twig', {
|
||||
'totalItems': items|length,
|
||||
'page': page,
|
||||
'limit': limit,
|
||||
'menuLinkId': 'mautic_point_index',
|
||||
'baseUrl': path('mautic_point_index'),
|
||||
'sessionVar': 'point',
|
||||
}) }}
|
||||
</div>
|
||||
{% else %}
|
||||
{% if searchValue is not empty %}
|
||||
{{ include('@MauticCore/Helper/noresults.html.twig', {'tip': 'mautic.point.action.noresults.tip'}) }}
|
||||
{% else %}
|
||||
<div class="mt-80 col-md-offset-2 col-lg-offset-3 col-md-8 col-lg-5 height-auto">
|
||||
{% set childContainer %}
|
||||
<div class="mb-md">
|
||||
{% include '@MauticCore/Components/pictogram.html.twig' with {
|
||||
'pictogram': 'user--insights',
|
||||
'size': '80'
|
||||
} %}
|
||||
</div>
|
||||
|
||||
{{ include('@MauticCore/Components/content-item-row.html.twig', {
|
||||
type: 'default',
|
||||
eyebrow: 'mautic.point.action.empty.understand',
|
||||
heading: 'mautic.point.action.empty.what_are_point_actions',
|
||||
copy: 'mautic.point.action.empty.what_are_point_actions_desc',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Components/content-item-row.html.twig', {
|
||||
type: 'default',
|
||||
eyebrow: 'mautic.point.action.empty.purpose',
|
||||
heading: 'mautic.point.action.empty.score_contacts_heading',
|
||||
copy: 'mautic.point.action.empty.score_contacts_desc',
|
||||
}) }}
|
||||
{% endset %}
|
||||
|
||||
{{ include('@MauticCore/Components/content-block.html.twig', {
|
||||
heading: 'mautic.point.action.empty.heading',
|
||||
subheading: 'mautic.point.action.empty.subheading',
|
||||
childContainer: childContainer,
|
||||
}) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,4 @@
|
||||
{% form_theme form with formThemes %}
|
||||
{% for child in form %}
|
||||
{{ form_row(child) }}
|
||||
{% endfor %}
|
||||
@@ -0,0 +1,54 @@
|
||||
{% form_theme form with formThemes %}
|
||||
{% extends '@MauticCore/Default/content.html.twig' %}
|
||||
|
||||
{% block mauticContent 'point' %}
|
||||
|
||||
{%- block headerTitle -%}
|
||||
{%- if entity.id -%}
|
||||
{{- 'mautic.point.menu.edit'|trans({'%name%': entity.name|trans}) -}}
|
||||
{%- else -%}
|
||||
{{- 'mautic.point.menu.new'|trans -}}
|
||||
{%- endif -%}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block content %}
|
||||
{{ form_start(form) }}
|
||||
<!-- start: box layout -->
|
||||
<div class="box-layout">
|
||||
<!-- container -->
|
||||
<div class="col-md-9 height-auto bdr-r">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="pa-md">
|
||||
{{ form_row(form.name) }}
|
||||
{{ form_row(form.description) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="pa-md">
|
||||
{{ form_row(form.delta) }}
|
||||
{{ form_row(form.type) }}
|
||||
<div id="pointActionProperties">
|
||||
{% if form.properties is defined %}
|
||||
{{ form_row(form.properties) }}
|
||||
{% endif %}
|
||||
</div>
|
||||
{{ form_row(form.group) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 height-auto">
|
||||
<div class="pr-lg pl-lg pt-md pb-md">
|
||||
{{ form_row(form.category) }}
|
||||
{{ form_row(form.projects) }}
|
||||
{{ form_row(form.isPublished) }}
|
||||
{{ form_row(form.repeatable) }}
|
||||
{{ form_row(form.publishUp) }}
|
||||
{{ form_row(form.publishDown) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- end: box layout -->
|
||||
{{ form_end(form) }}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,67 @@
|
||||
{% set isIndex = 'index' == tmpl %}
|
||||
{% set tmpl = 'list' %}
|
||||
{% extends isIndex ? '@MauticCore/Default/content.html.twig' : '@MauticCore/Default/raw_output.html.twig' %}
|
||||
|
||||
{% block mauticContent 'point' %}
|
||||
|
||||
{% block headerTitle 'mautic.points.menu.root'|trans %}
|
||||
|
||||
{% block content %}
|
||||
{% if isIndex %}
|
||||
<div id="page-list-wrapper" class="{% if items|length > 0 or searchValue is not empty %}panel {% endif %}panel-default">
|
||||
{{ include('@MauticCore/Helper/list_toolbar.html.twig', {
|
||||
'searchValue': searchValue,
|
||||
'action': currentRoute,
|
||||
'page_actions': {
|
||||
'templateButtons': {
|
||||
'new': permissions['point:points:create'],
|
||||
},
|
||||
'routeBase': 'point',
|
||||
},
|
||||
'bulk_actions': {
|
||||
'routeBase': 'point',
|
||||
'templateButtons': {
|
||||
'delete': permissions['point:points:delete'],
|
||||
},
|
||||
},
|
||||
'quickFilters': [
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.ispublished',
|
||||
'label': 'mautic.core.form.active',
|
||||
'tooltip': 'mautic.core.searchcommand.ispublished.description',
|
||||
'icon': 'ri-check-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.isunpublished',
|
||||
'label': 'mautic.core.form.inactive',
|
||||
'tooltip': 'mautic.core.searchcommand.isunpublished.description',
|
||||
'icon': 'ri-close-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.isuncategorized',
|
||||
'label': 'mautic.core.form.uncategorized',
|
||||
'tooltip': 'mautic.core.searchcommand.isuncategorized.description',
|
||||
'icon': 'ri-folder-unknow-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.ismine',
|
||||
'label': 'mautic.core.searchcommand.ismine.label',
|
||||
'tooltip': 'mautic.core.searchcommand.ismine.description',
|
||||
'icon': 'ri-user-line'
|
||||
}
|
||||
]
|
||||
}) }}
|
||||
<div class="page-list">
|
||||
{% endif %}
|
||||
|
||||
{{ include('@MauticPoint/Point/_list.html.twig') }}
|
||||
|
||||
{% if isIndex %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ include('@MauticCore/Modules/protip.html.twig', {
|
||||
tip: random(['mautic.protip.points.decay', 'mautic.protip.points.reduce', 'mautic.protip.points.limit'])
|
||||
}) }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,16 @@
|
||||
{% if showMore is defined %}
|
||||
<a href="{{ url('mautic_point.group_index', {'search': searchString}) }}" data-toggle="ajax">
|
||||
<span>{{ 'mautic.core.search.more'|trans({'%count%': remaining}) }}</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ url('mautic_point.group_action', {'objectAction': 'edit', 'objectId': item.id}) }}">
|
||||
<span class="fw-sb">{{ item.name }}</span>
|
||||
<span class="ml-4 mr-sm">#{{ item.id }}</span>
|
||||
{{- include('@MauticCore/Helper/publishstatus_badge.html.twig', {
|
||||
'entity': item,
|
||||
'status': 'active',
|
||||
'simplified': 'true'
|
||||
}) -}}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,17 @@
|
||||
{% if showMore is defined %}
|
||||
<a href="{{ url('mautic_point_index', {'search': searchString}) }}" data-toggle="ajax">
|
||||
<span>{{ 'mautic.core.search.more'|trans({'%count%': remaining}) }}</span>
|
||||
</a>
|
||||
</div>
|
||||
{% else %}
|
||||
<a href="{{ url('mautic_point_action', {'objectAction': 'edit', 'objectId': item.id}) }}">
|
||||
<span class="fw-sb">{{ item.name }}</span>
|
||||
<span class="ml-4 mr-sm">#{{ item.id }}</span>
|
||||
{{- include('@MauticCore/Helper/publishstatus_badge.html.twig', {
|
||||
'entity': item,
|
||||
'status': 'active',
|
||||
'simplified': 'true'
|
||||
}) -}}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,16 @@
|
||||
{% if showMore is defined %}
|
||||
<a href="{{ url('mautic_pointtrigger_index', {'search': searchString}) }}" data-toggle="ajax">
|
||||
<span>{{ 'mautic.core.search.more'|trans({'%count%': remaining}) }}</span>
|
||||
</a>
|
||||
{% else %}
|
||||
<a href="{{ url('mautic_pointtrigger_action', {'objectAction': 'edit', 'objectId': item.id}) }}">
|
||||
<span class="fw-sb">{{ item.name }}</span>
|
||||
<span class="ml-4 mr-sm">#{{ item.id }}</span>
|
||||
{{- include('@MauticCore/Helper/publishstatus_badge.html.twig', {
|
||||
'entity': item,
|
||||
'status': 'active',
|
||||
'simplified': 'true'
|
||||
}) -}}
|
||||
</a>
|
||||
<div class="clearfix"></div>
|
||||
{% endif %}
|
||||
@@ -0,0 +1,170 @@
|
||||
{% if items|length > 0 %}
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover pointtrigger-list" id="triggerTable">
|
||||
<thead>
|
||||
<tr>
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'checkall': 'true',
|
||||
'target': '#triggerTable',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point.trigger',
|
||||
'orderBy': 't.name',
|
||||
'text': 'mautic.core.name',
|
||||
'class': 'col-pointtrigger-name',
|
||||
'default': true,
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point.trigger',
|
||||
'orderBy': 'cat.title',
|
||||
'text': 'mautic.core.category',
|
||||
'class': 'col-pointtrigger-category visible-md visible-lg',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point.trigger',
|
||||
'orderBy': 'pl.name',
|
||||
'text': 'mautic.point.thead.group',
|
||||
'class': 'visible-md visible-lg col-point-group',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point.trigger',
|
||||
'orderBy': 't.points',
|
||||
'text': 'mautic.point.trigger.thead.points',
|
||||
'class': 'col-pointtrigger-points',
|
||||
}) }}
|
||||
|
||||
{{ include('@MauticCore/Helper/tableheader.html.twig', {
|
||||
'sessionVar': 'point.trigger',
|
||||
'orderBy': 't.id',
|
||||
'text': 'mautic.core.id',
|
||||
'class': 'col-pointtrigger-id visible-md visible-lg',
|
||||
}) }}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for item in items %}
|
||||
<tr>
|
||||
<td>
|
||||
{{ include('@MauticCore/Helper/list_actions.html.twig', {
|
||||
'item': item,
|
||||
'templateButtons': {
|
||||
'edit': permissions['point:triggers:edit'],
|
||||
'clone': permissions['point:triggers:create'],
|
||||
'delete': permissions['point:triggers:delete'],
|
||||
},
|
||||
'routeBase': 'pointtrigger',
|
||||
'langVar': 'point.trigger',
|
||||
}) }}
|
||||
</td>
|
||||
<td>
|
||||
<div>
|
||||
{{ include('@MauticCore/Helper/publishstatus_icon.html.twig', {'item': item, 'model': 'point.trigger'}) }}
|
||||
{% if permissions['point:triggers:edit'] %}
|
||||
<a href="{{ path('mautic_pointtrigger_action', {'objectAction': 'edit', 'objectId': item.id}) }}" data-toggle="ajax">
|
||||
{{ item.name }}
|
||||
</a>
|
||||
{% else %}
|
||||
{{ item.name }}
|
||||
{% endif %}
|
||||
{{ customContent('trigger.name', _context) }}
|
||||
</div>
|
||||
{{ include('@MauticCore/Helper/description--inline.html.twig', {
|
||||
'description': item.description
|
||||
}) }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">
|
||||
{{ include('@MauticCore/Modules/category--expanded.html.twig', {'category': item.category}) }}
|
||||
</td>
|
||||
<td class="visible-md visible-lg">
|
||||
{{ item.group.name|default('mautic.point.group.form.nogroup'|trans) }}
|
||||
</td>
|
||||
<td>{{ item.points }}</td>
|
||||
<td class="visible-md visible-lg">{{ item.id }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="panel-footer">
|
||||
{{ include('@MauticCore/Helper/pagination.html.twig', {
|
||||
'totalItems': items|length,
|
||||
'page': page,
|
||||
'limit': limit,
|
||||
'menuLinkId': 'mautic_pointtrigger_index',
|
||||
'baseUrl': path('mautic_pointtrigger_index'),
|
||||
'sessionVar': 'point.trigger',
|
||||
}) }}
|
||||
</div>
|
||||
{% else %}
|
||||
{% if searchValue is not empty %}
|
||||
{{ include('@MauticCore/Helper/noresults.html.twig', {'tip': 'mautic.point.trigger.noresults.tip'}) }}
|
||||
{% else %}
|
||||
<div class="mt-80 col-md-offset-2 col-lg-offset-3 col-md-8 col-lg-5 height-auto">
|
||||
{% set childContainer %}
|
||||
<div class="mb-md">
|
||||
{% include '@MauticCore/Components/pictogram.html.twig' with {
|
||||
'pictogram': 'react-to-data',
|
||||
'size': '80'
|
||||
} %}
|
||||
</div>
|
||||
|
||||
{{ include('@MauticCore/Components/content-item-row.html.twig', {
|
||||
type: 'default',
|
||||
eyebrow: 'mautic.point.trigger.onboarding.eyebrow',
|
||||
heading: 'mautic.point.trigger.onboarding.heading',
|
||||
copy: 'mautic.point.trigger.onboarding.copy',
|
||||
}) }}
|
||||
|
||||
{% set triggersUseContainer %}
|
||||
<div class="mb-md">
|
||||
{% include '@MauticCore/Components/pictogram.html.twig' with {
|
||||
'pictogram': 'construct',
|
||||
'size': '64'
|
||||
} %}
|
||||
</div>
|
||||
<div class="type-body-02">
|
||||
{% include '@MauticCore/Components/list--styled.html.twig' with {
|
||||
'type': 'ordered',
|
||||
'style': 'numbers',
|
||||
'items': [
|
||||
'mautic.point.trigger.onboarding.step1',
|
||||
'mautic.point.trigger.onboarding.step2',
|
||||
'mautic.point.trigger.onboarding.step3',
|
||||
]
|
||||
} %}
|
||||
</div>
|
||||
<div class="mt-lg">
|
||||
{{ include('@MauticCore/Notification/inline_notification.html.twig', {
|
||||
'title': 'mautic.point.trigger.onboarding.notification.title',
|
||||
'content': 'mautic.point.trigger.onboarding.notification.content',
|
||||
'alert_type': 'success',
|
||||
'dismissible': false,
|
||||
}) }}
|
||||
</div>
|
||||
{% endset %}
|
||||
|
||||
{{ include('@MauticCore/Components/content-group.html.twig', {
|
||||
heading: 'mautic.point.trigger.onboarding.group.heading',
|
||||
childContainer: triggersUseContainer,
|
||||
cta: {
|
||||
'label': 'mautic.point.trigger.onboarding.cta',
|
||||
'link': path('mautic_pointtrigger_action', {'objectAction': 'new'}),
|
||||
attributes: {
|
||||
'data-toggle': 'ajax',
|
||||
},
|
||||
}
|
||||
}) }}
|
||||
{% endset %}
|
||||
|
||||
{{ include('@MauticCore/Components/content-block.html.twig', {
|
||||
heading: 'mautic.point.trigger.empty.heading',
|
||||
subheading: 'mautic.point.trigger.empty.subheading',
|
||||
childContainer: childContainer,
|
||||
}) }}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,23 @@
|
||||
{% extends '@MauticCore/Default/content.html.twig' %}
|
||||
|
||||
{% block mauticContent 'pointTrigger' %}
|
||||
|
||||
{% block headerTitle entity.name %}
|
||||
|
||||
{% block actions %}
|
||||
{{ include('@MauticCore/Helper/page_actions.html.twig', {
|
||||
'item': entity,
|
||||
'templateButtons': {
|
||||
'edit': permissions['point:triggers:edit'],
|
||||
'delete': permissions['point:triggers:delete'],
|
||||
},
|
||||
'routeBase': 'pointtrigger',
|
||||
'langVar': 'point.trigger',
|
||||
}) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="scrollable trigger-details">
|
||||
{# @todo - output trigger details/actions #}
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,114 @@
|
||||
{% extends '@MauticCore/Default/content.html.twig' %}
|
||||
|
||||
{% block mauticContent 'pointTrigger' %}
|
||||
|
||||
{%- block headerTitle -%}
|
||||
{%- if entity.id -%}
|
||||
{{ 'mautic.point.trigger.header.edit'|trans({'%name%': entity.name|trans}) }}
|
||||
{%- else -%}
|
||||
{{ 'mautic.point.trigger.header.new'|trans }}
|
||||
{%- endif -%}
|
||||
{%- endblock -%}
|
||||
|
||||
{% block modal include('@MauticCore/Helper/modal.html.twig', {
|
||||
'id': 'triggerEventModal',
|
||||
'header': 'mautic.point.trigger.form.modalheader'|trans,
|
||||
'footerButtons': true
|
||||
}) %}
|
||||
|
||||
{% block content %}
|
||||
{{ form_start(form) }}
|
||||
<div class="box-layout">
|
||||
<div class="col-md-9 height-auto">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<!-- tabs controls -->
|
||||
<ul class="nav nav-tabs nav-tabs-contained">
|
||||
<li class="active"><a href="#details-container" role="tab" data-toggle="tab">{{ 'mautic.core.details'|trans }}</a></li>
|
||||
<li class=""><a href="#events-container" role="tab" data-toggle="tab">{{ 'mautic.point.trigger.tab.events'|trans }}</a></li>
|
||||
</ul>
|
||||
<!--/ tabs controls -->
|
||||
|
||||
<div class="tab-content pa-md">
|
||||
<div class="tab-pane fade in active bdr-w-0 height-auto" id="details-container">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="pa-md">
|
||||
{{ form_row(form.name) }}
|
||||
{{ form_row(form.description, {'attr': {'class': 'form-control editor'}}) }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="pa-md">
|
||||
{{ form_row(form.points) }}
|
||||
{{ form_row(form.color) }}
|
||||
{{ form_row(form.group) }}
|
||||
{{ form_row(form.triggerExistingLeads) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade bdr-w-0" id="events-container">
|
||||
<div id="triggerEvents">
|
||||
<div class="mb-md">
|
||||
<div class="dropdown chosen-container">
|
||||
<button class="btn chosen-single dropdown-toggle" type="button" data-toggle="dropdown">
|
||||
{{ 'mautic.point.trigger.event.add'|trans }}
|
||||
<span class="caret"></span>
|
||||
</button>
|
||||
<ul class="dropdown-menu" role="menu">
|
||||
{% for group, event in events %}
|
||||
<li role="presentation" class="dropdown-header">
|
||||
{{ group }}
|
||||
</li>
|
||||
{% for k, e in event %}
|
||||
<li id="event_{{ k }}">
|
||||
<a data-toggle="ajaxmodal"
|
||||
data-target="#triggerEventModal"
|
||||
class="list-group-item"
|
||||
href="{{ path('mautic_pointtriggerevent_action', {'objectAction': 'new', 'type': k, 'tmpl': 'event', 'triggerId': sessionId}) }}">
|
||||
<div data-toggle="tooltip" title="{{ e.description }}">
|
||||
<span>{{ e.label }}</span>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% for event in triggerEvents %}
|
||||
{% set template = event.settings.template|default('@MauticPoint/Event/generic.html.twig') %}
|
||||
<!-- start: "{{ template }}" -->
|
||||
{{ include(template, {
|
||||
'event': event,
|
||||
'id': event.id,
|
||||
'deleted': (event.id in deletedEvents),
|
||||
'sessionId': sessionId,
|
||||
}, with_context=false) }}
|
||||
<!--/ start: "{{ template }}" -->
|
||||
{% else %}
|
||||
<div class="alert alert-info" id="triggerEventPlaceholder">
|
||||
<p>{{ 'mautic.point.trigger.addevent'|trans }}</p>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3 height-auto bdr-l">
|
||||
<div class="pr-lg pl-lg pt-md pb-md">
|
||||
{{ form_row(form.category) }}
|
||||
{{ form_row(form.projects) }}
|
||||
{{ form_row(form.isPublished) }}
|
||||
{{ form_row(form.publishUp) }}
|
||||
{{ form_row(form.publishDown) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,69 @@
|
||||
{% set isIndex = 'index' == tmpl %}
|
||||
{% set tmpl = 'list' %}
|
||||
{% extends isIndex ? '@MauticCore/Default/content.html.twig' : '@MauticCore/Default/raw_output.html.twig' %}
|
||||
|
||||
{% block mauticContent 'pointTrigger' %}
|
||||
|
||||
{% block headerTitle 'mautic.point.trigger.header.index'|trans %}
|
||||
|
||||
{% block content %}
|
||||
{% if isIndex %}
|
||||
<div id="page-list-wrapper" class="{% if items|length > 0 or searchValue is not empty %}panel {% endif %}panel-default">
|
||||
{{ include('@MauticCore/Helper/list_toolbar.html.twig', {
|
||||
'searchValue': searchValue,
|
||||
'action': currentRoute,
|
||||
'page_actions': {
|
||||
'templateButtons': {
|
||||
'new': permissions['point:triggers:create'],
|
||||
},
|
||||
'routeBase': 'pointtrigger',
|
||||
'langVar': 'point.trigger',
|
||||
},
|
||||
'bulk_actions': {
|
||||
'langVar': 'point.trigger',
|
||||
'routeBase': 'pointtrigger',
|
||||
'templateButtons': {
|
||||
'delete': permissions['point:triggers:delete'],
|
||||
},
|
||||
},
|
||||
'quickFilters': [
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.ispublished',
|
||||
'label': 'mautic.core.form.active',
|
||||
'tooltip': 'mautic.core.searchcommand.ispublished.description',
|
||||
'icon': 'ri-check-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.isunpublished',
|
||||
'label': 'mautic.core.form.inactive',
|
||||
'tooltip': 'mautic.core.searchcommand.isunpublished.description',
|
||||
'icon': 'ri-close-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.isuncategorized',
|
||||
'label': 'mautic.core.form.uncategorized',
|
||||
'tooltip': 'mautic.core.searchcommand.isuncategorized.description',
|
||||
'icon': 'ri-folder-unknow-line'
|
||||
},
|
||||
{
|
||||
'search': 'mautic.core.searchcommand.ismine',
|
||||
'label': 'mautic.core.searchcommand.ismine.label',
|
||||
'tooltip': 'mautic.core.searchcommand.ismine.description',
|
||||
'icon': 'ri-user-line'
|
||||
}
|
||||
]
|
||||
}) }}
|
||||
<div class="page-list">
|
||||
{% endif %}
|
||||
|
||||
{{ include('@MauticPoint/Trigger/_list.html.twig') }}
|
||||
|
||||
{% if isIndex %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{ include('@MauticCore/Modules/protip.html.twig', {
|
||||
tip: random(['mautic.protip.triggers.behavioral'])
|
||||
}) }}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user