PR-16 Исправление формы заполнения готовых проектов

fix поправлены баги для PR-41: косметические, создание объектов с пустыми именами.
remotes/origin/PR-49
booblegum 9 years ago
parent 96745cc2fa
commit c55b306e5a
  1. 61
      assets/js/build/init_create_worksell.js
  2. 61
      assets/js/build/init_customer_project_create.js
  3. 2
      assets/lib/proekton-components/js/src/SelectedContainerCreate.js
  4. 20
      projects/migrations/0050_auto_20161207_1637.py
  5. 2
      projects/models.py
  6. 30
      projects/templates/customer_project_create.html
  7. 3
      projects/views.py

@ -46,27 +46,27 @@
'use strict';
var _SelectedContainer = __webpack_require__(10);
var _SelectedContainer = __webpack_require__(9);
var _SelectedContainer2 = _interopRequireDefault(_SelectedContainer);
var _SelectedContainerCreate = __webpack_require__(14);
var _SelectedContainerCreate = __webpack_require__(13);
var _SelectedContainerCreate2 = _interopRequireDefault(_SelectedContainerCreate);
var _NoTreeSelect = __webpack_require__(15);
var _NoTreeSelect = __webpack_require__(14);
var _NoTreeSelect2 = _interopRequireDefault(_NoTreeSelect);
var _TreeSelect = __webpack_require__(17);
var _TreeSelect = __webpack_require__(16);
var _TreeSelect2 = _interopRequireDefault(_TreeSelect);
var _SingleTreeSelect = __webpack_require__(18);
var _SingleTreeSelect = __webpack_require__(17);
var _SingleTreeSelect2 = _interopRequireDefault(_SingleTreeSelect);
var _SelectOrCreate = __webpack_require__(19);
var _SelectOrCreate = __webpack_require__(18);
var _SelectOrCreate2 = _interopRequireDefault(_SelectOrCreate);
@ -175,8 +175,7 @@
/* 6 */,
/* 7 */,
/* 8 */,
/* 9 */,
/* 10 */
/* 9 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -191,15 +190,15 @@
var _desc, _value, _class; // `
var _DataTree = __webpack_require__(11);
var _DataTree = __webpack_require__(10);
var _DataTree2 = _interopRequireDefault(_DataTree);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
var _decorators = __webpack_require__(13);
var _decorators = __webpack_require__(12);
var _decorators2 = _interopRequireDefault(_decorators);
@ -430,7 +429,7 @@
exports.default = SelectedContainer;
/***/ },
/* 11 */
/* 10 */
/***/ function(module, exports) {
"use strict";
@ -585,7 +584,7 @@
exports.default = DataTree;
/***/ },
/* 12 */
/* 11 */
/***/ function(module, exports) {
"use strict";
@ -641,7 +640,7 @@
exports.default = NoTreeData;
/***/ },
/* 13 */
/* 12 */
/***/ function(module, exports) {
"use strict";
@ -725,7 +724,7 @@
// export {onBind};
/***/ },
/* 14 */
/* 13 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -741,11 +740,11 @@
var _desc, _value, _class;
var _SelectedContainer2 = __webpack_require__(10);
var _SelectedContainer2 = __webpack_require__(9);
var _SelectedContainer3 = _interopRequireDefault(_SelectedContainer2);
var _decorators = __webpack_require__(13);
var _decorators = __webpack_require__(12);
var _decorators2 = _interopRequireDefault(_decorators);
@ -808,7 +807,7 @@
this._removeById(this.elements_id[0]);
this.elements_id = [0];
this.$input_id = this.$self.find('input[type="hidden"].-id');
this.$input_id.val();
this.$input_id.val("");
this.$input_name = this.$self.find('input[type="hidden"].-name');
this.$input_name.val(_id.text);
this.$self.append(_SelectedContainer3.default.getTemplate("", _id.text, 0));
@ -826,7 +825,7 @@
exports.default = SelectedContainerCreate;
/***/ },
/* 15 */
/* 14 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -840,9 +839,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
@ -909,7 +908,7 @@
exports.default = NoTreeSelect;
/***/ },
/* 16 */
/* 15 */
/***/ function(module, exports) {
"use strict";
@ -1451,7 +1450,7 @@
exports.AbsBaseSelect = AbsBaseSelect;
/***/ },
/* 17 */
/* 16 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1465,9 +1464,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _DataTree = __webpack_require__(11);
var _DataTree = __webpack_require__(10);
var _DataTree2 = _interopRequireDefault(_DataTree);
@ -1576,7 +1575,7 @@
exports.default = TreeSelect;
/***/ },
/* 18 */
/* 17 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1588,9 +1587,9 @@
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _AbsBaseSelect = __webpack_require__(16);
var _AbsBaseSelect = __webpack_require__(15);
var _TreeSelect2 = __webpack_require__(17);
var _TreeSelect2 = __webpack_require__(16);
var _TreeSelect3 = _interopRequireDefault(_TreeSelect2);
@ -1671,7 +1670,7 @@
exports.default = SingleTreeSelect;
/***/ },
/* 19 */
/* 18 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1685,9 +1684,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);

@ -46,27 +46,27 @@
'use strict';
var _SelectedContainer = __webpack_require__(10);
var _SelectedContainer = __webpack_require__(9);
var _SelectedContainer2 = _interopRequireDefault(_SelectedContainer);
var _SelectedContainerCreate = __webpack_require__(14);
var _SelectedContainerCreate = __webpack_require__(13);
var _SelectedContainerCreate2 = _interopRequireDefault(_SelectedContainerCreate);
var _NoTreeSelect = __webpack_require__(15);
var _NoTreeSelect = __webpack_require__(14);
var _NoTreeSelect2 = _interopRequireDefault(_NoTreeSelect);
var _TreeSelect = __webpack_require__(17);
var _TreeSelect = __webpack_require__(16);
var _TreeSelect2 = _interopRequireDefault(_TreeSelect);
var _SingleTreeSelect = __webpack_require__(18);
var _SingleTreeSelect = __webpack_require__(17);
var _SingleTreeSelect2 = _interopRequireDefault(_SingleTreeSelect);
var _SelectOrCreate = __webpack_require__(19);
var _SelectOrCreate = __webpack_require__(18);
var _SelectOrCreate2 = _interopRequireDefault(_SelectOrCreate);
@ -210,8 +210,7 @@
/* 6 */,
/* 7 */,
/* 8 */,
/* 9 */,
/* 10 */
/* 9 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -226,15 +225,15 @@
var _desc, _value, _class; // `
var _DataTree = __webpack_require__(11);
var _DataTree = __webpack_require__(10);
var _DataTree2 = _interopRequireDefault(_DataTree);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
var _decorators = __webpack_require__(13);
var _decorators = __webpack_require__(12);
var _decorators2 = _interopRequireDefault(_decorators);
@ -465,7 +464,7 @@
exports.default = SelectedContainer;
/***/ },
/* 11 */
/* 10 */
/***/ function(module, exports) {
"use strict";
@ -620,7 +619,7 @@
exports.default = DataTree;
/***/ },
/* 12 */
/* 11 */
/***/ function(module, exports) {
"use strict";
@ -676,7 +675,7 @@
exports.default = NoTreeData;
/***/ },
/* 13 */
/* 12 */
/***/ function(module, exports) {
"use strict";
@ -760,7 +759,7 @@
// export {onBind};
/***/ },
/* 14 */
/* 13 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -776,11 +775,11 @@
var _desc, _value, _class;
var _SelectedContainer2 = __webpack_require__(10);
var _SelectedContainer2 = __webpack_require__(9);
var _SelectedContainer3 = _interopRequireDefault(_SelectedContainer2);
var _decorators = __webpack_require__(13);
var _decorators = __webpack_require__(12);
var _decorators2 = _interopRequireDefault(_decorators);
@ -843,7 +842,7 @@
this._removeById(this.elements_id[0]);
this.elements_id = [0];
this.$input_id = this.$self.find('input[type="hidden"].-id');
this.$input_id.val();
this.$input_id.val("");
this.$input_name = this.$self.find('input[type="hidden"].-name');
this.$input_name.val(_id.text);
this.$self.append(_SelectedContainer3.default.getTemplate("", _id.text, 0));
@ -861,7 +860,7 @@
exports.default = SelectedContainerCreate;
/***/ },
/* 15 */
/* 14 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -875,9 +874,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);
@ -944,7 +943,7 @@
exports.default = NoTreeSelect;
/***/ },
/* 16 */
/* 15 */
/***/ function(module, exports) {
"use strict";
@ -1486,7 +1485,7 @@
exports.AbsBaseSelect = AbsBaseSelect;
/***/ },
/* 17 */
/* 16 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1500,9 +1499,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _DataTree = __webpack_require__(11);
var _DataTree = __webpack_require__(10);
var _DataTree2 = _interopRequireDefault(_DataTree);
@ -1611,7 +1610,7 @@
exports.default = TreeSelect;
/***/ },
/* 18 */
/* 17 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1623,9 +1622,9 @@
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _AbsBaseSelect = __webpack_require__(16);
var _AbsBaseSelect = __webpack_require__(15);
var _TreeSelect2 = __webpack_require__(17);
var _TreeSelect2 = __webpack_require__(16);
var _TreeSelect3 = _interopRequireDefault(_TreeSelect2);
@ -1706,7 +1705,7 @@
exports.default = SingleTreeSelect;
/***/ },
/* 19 */
/* 18 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
@ -1720,9 +1719,9 @@
var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
var _AbsBaseSelect2 = __webpack_require__(16);
var _AbsBaseSelect2 = __webpack_require__(15);
var _NoTreeData = __webpack_require__(12);
var _NoTreeData = __webpack_require__(11);
var _NoTreeData2 = _interopRequireDefault(_NoTreeData);

@ -14,7 +14,7 @@ export default class SelectedContainerCreate extends SelectedContainer {
this._removeById(this.elements_id[0]);
this.elements_id = [0];
this.$input_id = this.$self.find('input[type="hidden"].-id');
this.$input_id.val();
this.$input_id.val("");
this.$input_name = this.$self.find('input[type="hidden"].-name');
this.$input_name.val(_id.text);
this.$self.append(SelectedContainer.getTemplate("", _id.text, 0));

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-12-07 13:37
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0049_auto_20161201_2157'),
]
operations = [
migrations.AlterField(
model_name='project',
name='budget',
field=models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10),
),
]

@ -105,7 +105,7 @@ class Project(models.Model, HitCountMixin):
state = models.CharField(default='active', max_length=20, choices=STATES)
specialization = TreeForeignKey(Specialization, related_name='projects')
budget = models.DecimalField(max_digits=10, decimal_places=0)
budget = models.DecimalField(max_digits=10, decimal_places=0, default=0, blank=True)
budget_by_agreement = models.BooleanField(default=False)
currency = models.CharField(max_length=20, default='rur', choices=CURRENCIES)

@ -90,8 +90,9 @@
</div>
<i class="fa fa-question-circle-o" aria-hidden="true" title=""></i>
<span class="required">Обязательно</span>
<textarea name="{{ form.description.html_name }}" class="description" rows="6" placeholder=
" Пример №1
<textarea name="{{ form.description.html_name }}" class="description" rows="6"
placeholder=
" Пример №1
Разработать архиьектурные решения для жилого дома на основании эскизной проработки
@ -343,19 +344,20 @@
</div> <!-- //bottom block -->
</div>
</div>
<div class="row top-line">
<div class="col-lg-3" style="text-align: center">
<div class="header">&nbsp;</div>
<input style="width: 100%" type="submit" class="btn btn-simple"
value="РАЗМЕСТИТЬ ЗАКАЗ">
</div>
<div class="col-lg-3 col-lg-offset-6" style="text-align: center">
<div class="header">&nbsp;</div>
<input style="width: 100%" type="button" class="btn btn-simple"
value="ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР">
</div>
</div>
</div> <!-- slide -->
<div class="row top-line">
<div class="col-lg-3" style="text-align: center">
<div class="header">&nbsp;</div>
<input style="width: 100%" type="submit" class="btn btn-simple"
value="РАЗМЕСТИТЬ ЗАКАЗ">
</div>
<div class="col-lg-3 col-lg-offset-6" style="text-align: center">
<div class="header">&nbsp;</div>
<input style="width: 100%" type="button" class="btn btn-simple"
value="ПРЕДВАРИТЕЛЬНЫЙ ПРОСМОТР">
</div>
</div>
</form>
</div> <!-- content -->
</div>

@ -513,7 +513,7 @@ class CustomerProjectCreateView(BaseMixin, View):
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST, request=request) # Passing `request.FILES` seems unnecessary here. Files are added manually below
print('POST = ', request.POST)
form.is_valid()
realty = form.cleaned_data.get('realty')
@ -538,6 +538,7 @@ class CustomerProjectCreateView(BaseMixin, View):
else:
realty = realty_form.save(commit=False)
realty.user = request.user
print('new_realty_name = ', request.POST.get('new_realty_name'))
if not request.POST.get('new_realty_name'):
realty.is_virtual = True
realty.name = request.POST.get('new_realty_name')

Loading…
Cancel
Save