From 42af1b4216f64172a55bf4c561b30a84466a3f45 Mon Sep 17 00:00:00 2001 From: ArturBaybulatov Date: Wed, 14 Sep 2016 15:20:36 +0300 Subject: [PATCH] Fixes --- assets/index.js | 89 ++++++++++--------- assets/js/chat.js | 2 +- projects/forms.py | 8 +- .../templates/contractor_portfolio_edit.html | 16 ++-- projects/views.py | 30 +++++++ templates/partials/base.html | 2 +- users/templates/contractor_profile.html | 8 +- users/templates/user_financial_info_edit.html | 6 +- users/templates/user_profile_edit.html | 6 +- 9 files changed, 103 insertions(+), 64 deletions(-) diff --git a/assets/index.js b/assets/index.js index 42759a6..e24700b 100644 --- a/assets/index.js +++ b/assets/index.js @@ -512,46 +512,54 @@ function loadAllPhotos(portfIds) { - -// Live image upload --------------------------------------- +// Live image upload -------------------------------------------- ;(function() { - var $liveImageUploadContainer = $('.-live-image-upload-container').first() + var $container = $('.-live-image-upload-container').first() - var $avatarImage = $liveImageUploadContainer.find('.-avatar-image').first() - var $liveImageUpload = $liveImageUploadContainer.find('.-live-image-upload').first() - var $liveImageId = $liveImageUploadContainer.find('.-live-image-id').first() - var $liveImageDelete = $liveImageUploadContainer.find('.-live-image-delete').first() + var $liveImageUploadField = $container.find('.-live-image-upload-field').first() + var liveImageDeleteClass = '.-live-image-delete' + var $imageDeleteBtns = $('.-image-delete') - $avatarImage.attr('orig-src', $avatarImage.attr('src')) + var templ = _.template($container.find('.-templ').first().html()) + var $res = $container.find('.-res').first() - $liveImageUpload.fileupload({ + var images = [] + + $liveImageUploadField.fileupload({ url: LIVE_IMAGE_UPLOAD_URL, dataType: 'json', done: function($evt, data) { var image = data.result - - $avatarImage.attr('src', image.thumbnailUrl) - $liveImageId.val(image.id) - - $liveImageDelete.data('url', image.deleteUrl) - $liveImageDelete.css('display', 'block') + images.push(image) + render() } }) - $liveImageDelete.on('click', function($evt) { + $container.on('click', liveImageDeleteClass, function($evt) { var $that = $(this) + var image = _.find({id: $that.data('imageId')}, images) - $.post($that.data('url')).then(function(res) { + $.post(image.deleteUrl).then(function(res) { if (res.status == 'success') { - $avatarImage.attr('src', $avatarImage.attr('orig-src') || STUB_IMAGE_URL) - $liveImageId.val('') - $that.css('display', 'none') + remove(images, image) + render() } }) }) + + $imageDeleteBtns.on('click', function($evt) { + $(this).closest('.-image-widget').remove() + }) + + + // Helpers -------------------------------- + + function render() { + $res.html(templ({images: images})) + } }()) @@ -562,21 +570,19 @@ function loadAllPhotos(portfIds) { -// Live image upload (multiple) ----------------------------------- + +// Live image avatar (single) upload --------------------------------- ;(function() { - var $container = $('.-live-image-upload-multiple-container').first() + var $container = $('.-live-image-avatar-upload-container').first() + var $avatarImage = $container.find('.-avatar-image').first() var $liveImageUpload = $container.find('.-live-image-upload').first() - var liveImageDeleteClass = '.-live-image-delete' + var $liveImageId = $container.find('.-live-image-id').first() + var $liveImageDelete = $container.find('.-live-image-delete').first() - var templ = _.template($container.find('.-templ').first().html()) - var $res = $container.find('.-res').first() - - var images = [] - - render() + $avatarImage.attr('orig-src', $avatarImage.attr('src')) $liveImageUpload.fileupload({ url: LIVE_IMAGE_UPLOAD_URL, @@ -584,29 +590,26 @@ function loadAllPhotos(portfIds) { done: function($evt, data) { var image = data.result - images.push(image) - render() + + $avatarImage.attr('src', image.thumbnailUrl) + $liveImageId.val(image.id) + + $liveImageDelete.data('url', image.deleteUrl) + $liveImageDelete.css('display', 'block') } }) - $container.on('click', liveImageDeleteClass, function($evt) { + $liveImageDelete.on('click', function($evt) { var $that = $(this) - var image = _.find({id: $that.data('imageId')}, images) - $.post(image.deleteUrl).then(function(res) { + $.post($that.data('url')).then(function(res) { if (res.status == 'success') { - remove(images, image) - render() + $avatarImage.attr('src', $avatarImage.attr('orig-src') || STUB_IMAGE_URL) + $liveImageId.val('') + $that.css('display', 'none') } }) }) - - - // Utils -------------------------------- - - function render() { - $res.html(templ({images: images})) - } }()) diff --git a/assets/js/chat.js b/assets/js/chat.js index 63f1a30..2f360c7 100644 --- a/assets/js/chat.js +++ b/assets/js/chat.js @@ -1,6 +1,6 @@ var SocketHandler = function () { domain = domain.replace(':' + port, ''); - var url = 'ws://' + domain + ':8888/chat/' + userId + '/'; + var url = 'ws://' + domain + '/chat/' + userId + '/'; var sock = new WebSocket(url); var intervalId; sock.onopen = function () { diff --git a/projects/forms.py b/projects/forms.py index 9b3aa2f..0052f6b 100644 --- a/projects/forms.py +++ b/projects/forms.py @@ -7,7 +7,7 @@ import itertools from .models import Project, ProjectFile, Portfolio, Answer, AnswerMessage, Realty, PortfolioPhoto, Stage from archilance import util -from common.models import Location +from common.models import Location, LiveImageUpload from specializations.models import Specialization from users.models import User, Team @@ -195,6 +195,12 @@ class PortfolioEditForm(forms.ModelForm): required=False, ) + live_images = forms.ModelMultipleChoiceField( + queryset=LiveImageUpload.objects.all(), + widget=forms.CheckboxSelectMultiple, + required=False, + ) + class Meta: model = Portfolio diff --git a/projects/templates/contractor_portfolio_edit.html b/projects/templates/contractor_portfolio_edit.html index 998d6c0..7654c26 100644 --- a/projects/templates/contractor_portfolio_edit.html +++ b/projects/templates/contractor_portfolio_edit.html @@ -5,10 +5,10 @@ {% block head_css %}