export default function(modelData = false) {
- var modelTemplate = _.template(`
- <div class="model model_status_<%= model.status %>" data-model>
- <% var costFormId = _.uniqueId('cost-form'); %>
- <div class="model__inner" data-model-id="<%= model.id %>" data-model-inner>
- <div class="model__actions">
- <% if(model.status === 3) { %>
- <button class="model__actions__item model__actions__item_cost" type="button" data-modal="#<%= costFormId %>"></button>
- <button class="model__actions__item model__actions__item_edit" type="button" data-edit></button>
- <button class="model__actions__item model__actions__item_delete" type="button" data-delete></button>
- <div class="model__date" data-model-date>по <%= app.helpers.formatDate(model.date_to) %></div>
- <div class="model__info">
- <div class="model__name"><%= app.helpers.escape(model.name) %></div>
- <div class="model__contacts">
- <a href="mailto:<%= model.email %>" class="model__contact link"><%= model.email %></a>
- <% if (model.phone) { %>
- <span class="model__contact"><%= model.phone %></span>
- <div class="model__text"><%= app.helpers.multiline(app.helpers.escape(model.description)) %></div>
- <% if (model.files && model.files.length) { %>
- <% _.each(model.files, function(item){ %>
- <li class="files__item"><a href="<%= app.helpers.escapeUrl(item.url) %>" target="_blank" class="link"><%= app.helpers.escape(item.name) %></a></li>
- <% if (model.costs && model.costs.length > 0) { %>
- <div class="costs__item costs__item_title">
- <span class="costs__comment">Комментарий</span>
- <span class="costs__cost">Сумма</span>
- <span class="costs__commission">Коммисия</span>
- <ul class="costs__list">
- <% _.each(model.costs, function(item){ %>
- <li class="costs__item" data-id="<%= item.id %>">
- <span class="costs__comment">
- <%= app.helpers.escape(item.comment) %>
- <span class="costs__cost">
- <%= app.helpers.formatNumber(item.cost) %> <span class="rouble">a</span>
- <span class="costs__commission">
- <%= app.helpers.formatNumber(item.commission) %> <span class="rouble">a</span>
- <span class="costs__delete"></span>
- <div class="costs__item costs__item_result">
- <span class="costs__comment">
- <span class="costs__cost"><%= app.helpers.formatNumber(_.reduce(model.costs, function(memo, item){ return memo + item.cost; }, 0)) %> <span class="rouble">a</span></span>
- <span class="costs__commission"><%= app.helpers.formatNumber(_.reduce(model.costs, function(memo, item){ return memo + item.commission; }, 0)) %> <span class="rouble">a</span></span>
- <form class="model__cost-form modal" data-status="<%= model.status %>" action="<%= app.config.urls.costs + model.id %>" id="<%= costFormId %>">
- <div class="model__cost-form__title title title_level_5">«<%= app.helpers.escape(model.name) %>» — добавить платеж</div>
- <input class="model__cost-form__field model__cost-form__field_inline field" placeholder="Сумма" name="cost" />
- <input class="model__cost-form__field model__cost-form__field_inline model__cost-form__field_commission field" placeholder="Комиссия" name="commission" value="20"/>
- <textarea class="model__cost-form__field field" placeholder="Комментарий" name="comment"></textarea>
- <button class="model__cost-form__button button" type="submit">Сохранить</button>
+ var modelTemplate = _.template(`
+ <div class="model model_status_<%= model.status %>" data-model>
+ <% var costFormId = _.uniqueId('cost-form'); %>
+ <div class="model__inner" data-model-id="<%= model.id %>" data-model-inner>
+ <div class="model__actions">
+ <% if(model.status === 3) { %>
+ <button class="model__actions__item model__actions__item_cost" type="button" data-modal="#<%= costFormId %>"></button>
+ <button class="model__actions__item model__actions__item_edit" type="button" data-edit></button>
+ <button class="model__actions__item model__actions__item_delete" type="button" data-delete></button>
+ <div class="model__date" data-model-date>по <%= app.helpers.formatDate(model.date_to) %></div>
+ <div class="model__info">
+ <div class="model__name"><%= app.helpers.escape(model.name) %></div>
+ <div class="model__contacts">
+ <a href="mailto:<%= model.email %>" class="model__contact link"><%= model.email %></a>
+ <% if (model.phone) { %>
+ <span class="model__contact"><%= model.phone %></span>
+ <div class="model__text"><%= app.helpers.multiline(app.helpers.escape(model.description)) %></div>
+ <% if (model.files && model.files.length) { %>
+ <% _.each(model.files, function(item){ %>
+ <li class="files__item"><a href="<%= app.helpers.escapeUrl(item.url) %>" target="_blank" class="link"><%= app.helpers.escape(item.name) %></a></li>
+ <% if (model.costs && model.costs.length > 0) { %>
+ <div class="costs__item costs__item_title">
+ <span class="costs__comment">Комментарий</span>
+ <span class="costs__cost">Сумма</span>
+ <span class="costs__commission">Коммисия</span>
+ <ul class="costs__list">
+ <% _.each(model.costs, function(item){ %>
+ <li class="costs__item" data-id="<%= item.id %>">
+ <span class="costs__comment">
+ <%= app.helpers.escape(item.comment) %>
+ <span class="costs__cost">
+ <%= app.helpers.formatNumber(item.cost) %> <span class="rouble">a</span>
+ <span class="costs__commission">
+ <%= app.helpers.formatNumber(item.commission) %> <span class="rouble">a</span>
+ <span class="costs__delete"></span>
+ <div class="costs__item costs__item_result">
+ <span class="costs__comment">
+ <span class="costs__cost"><%= app.helpers.formatNumber(_.reduce(model.costs, function(memo, item){ return memo + item.cost; }, 0)) %> <span class="rouble">a</span></span>
+ <span class="costs__commission"><%= app.helpers.formatNumber(_.reduce(model.costs, function(memo, item){ return memo + item.commission; }, 0)) %> <span class="rouble">a</span></span>
+ <form class="model__cost-form modal" data-status="<%= model.status %>" action="<%= app.config.urls.costs + model.id %>" id="<%= costFormId %>">
+ <div class="model__cost-form__title title title_level_5">«<%= app.helpers.escape(model.name) %>» — добавить платеж</div>
+ <input class="model__cost-form__field model__cost-form__field_inline field" placeholder="Сумма" name="cost" />
+ <input class="model__cost-form__field model__cost-form__field_inline model__cost-form__field_commission field" placeholder="Комиссия" name="commission" value="20"/>
+ <textarea class="model__cost-form__field field" placeholder="Комментарий" name="comment"></textarea>
+ <button class="model__cost-form__button button" type="submit">Сохранить</button>
- var askForDeleteTemplate = _.template(`
- <div class="model__delete-block" data-delete-block>
- <div class="model__name model__name_indent"><%= app.helpers.escape(model.name) %></div>
- <div class="model__text">Вы уверенны, что хотите удалить?</div>
- <button class="model__deleted button" type="button" data-deleted>УДАЛИТЬ</button>
- <button class="model__canceled button" type="button" data-canceled>ОТМЕНА</button>
+ var askForDeleteTemplate = _.template(`
+ <div class="model__delete-block" data-delete-block>
+ <div class="model__name model__name_indent"><%= app.helpers.escape(model.name) %></div>
+ <div class="model__text">Вы уверенны, что хотите удалить?</div>
+ <button class="model__deleted button" type="button" data-deleted>УДАЛИТЬ</button>
+ <button class="model__canceled button" type="button" data-canceled>ОТМЕНА</button>
- var $wrapper = $(this);
- var html = modelTemplate({ model: modelData });
- var $block = $(html).appendTo($wrapper);
- var $modelInner = $wrapper.find('[data-model-inner]');
- var modelId = $wrapper.find('[data-model-id]').data('modelId');
- var $model = $wrapper.find('[data-model]');
+ var $wrapper = $(this);
+ var html = modelTemplate({ model: modelData });
+ var $block = $(html).appendTo($wrapper);
+ var $modelInner = $wrapper.find('[data-model-inner]');
+ var modelId = $wrapper.find('[data-model-id]').data('modelId');
+ var $model = $wrapper.find('[data-model]');
- var initCostForm = function(){
- var $form = $model.find('.model__cost-form');
- beforeSubmit: function(){
- $form.find('button').attr('disabled', 'disabled');
- success: function(data){
- alertify.success('Данные успешно сохранены');
- $.arcticmodal('close');
- $model.html(modelTemplate({ model: data }));
+ var initCostForm = function(){
+ var $form = $model.find('.model__cost-form');
+ beforeSubmit: function(){
+ $form.find('button').attr('disabled', 'disabled');
+ success: function(data){
+ alertify.success('Данные успешно сохранены');
+ $.arcticmodal('close');
+ $model.html(modelTemplate({ model: data }));
- $form.find('button').removeAttr('disabled');
- alertify.error(data.responseJSON.message);
+ $form.find('button').removeAttr('disabled');
+ alertify.error(data.responseJSON.message);
- $model.find(".costs__item");.each( function (el) {
- var id = $(this).data('id');
- var $removeButton = $(this).find(".costs__delete");
- $removeButton.on('click', function () {
- .confirm("<div class='model__comment-form__title title title_level_5'> Удалить запись?</div>", function() {
- url: app.config.urls.costs + modelId,
- contentType: 'application/json',
- success: function(data){
- alertify.success('Данные успешно сохранены');
+ $model.find(".costs__item");.each( function (el) {
+ var id = $(this).data('id');
+ var $removeButton = $(this).find(".costs__delete");
+ $removeButton.on('click', function () {
+ .confirm("<div class='model__comment-form__title title title_level_5'> Удалить запись?</div>", function() {
+ url: app.config.urls.costs + modelId,
+ contentType: 'application/json',
+ success: function(data){
+ alertify.success('Данные успешно сохранены');
- $model.html(modelTemplate({ model: data }));
+ $model.html(modelTemplate({ model: data }));
- alertify.error(data.responseJSON.message);
- alertify.error("Отмена");
+ alertify.error(data.responseJSON.message);
+ alertify.error("Отмена");
- var initPlugins = function(){
- $model.find('[data-modal]').plugin('modal-link');
- $model.plugins(['field', 'select']);
+ var initPlugins = function(){
+ $model.find('[data-modal]').plugin('modal-link');
+ $model.plugins(['field', 'select']);
- $wrapper.on('click', '[data-edit]', function () {
- $model.data('plugins', []);
- $model.empty().plugin('application', modelData, function(editTender){
- $model.html(modelTemplate({ model: editTender }));
- modelData = editTender;
+ $wrapper.on('click', '[data-edit]', function () {
+ $model.data('plugins', []);
+ $model.empty().plugin('application', modelData, function(editTender){
+ $model.html(modelTemplate({ model: editTender }));
+ modelData = editTender;
- $wrapper.on('click', '[data-delete]', function () {
- $model.html(askForDeleteTemplate({ model: modelData }));
+ $wrapper.on('click', '[data-delete]', function () {
+ $model.html(askForDeleteTemplate({ model: modelData }));
- $wrapper.on('click', '[data-deleted]', function () {
- url: app.config.urls.models + modelId,
- contentType: 'application/json',
- success: function(data) {
- alertify.logPosition("bottom right");
- alertify.error("Запись удалена");
- alertify.error(data.responseJSON.message);
+ $wrapper.on('click', '[data-deleted]', function () {
+ url: app.config.urls.models + modelId,
+ contentType: 'application/json',
+ success: function(data) {
+ alertify.logPosition("bottom right");
+ alertify.error("Запись удалена");
+ alertify.error(data.responseJSON.message);
- $wrapper.on('click', '[data-canceled]', function () {
- $model.html(modelTemplate({ model: modelData }));
+ $wrapper.on('click', '[data-canceled]', function () {
+ $model.html(modelTemplate({ model: modelData }));