Skip to content
This repository has been archived by the owner on Jan 28, 2021. It is now read-only.

Commit

Permalink
Fixes SQLSHR-234
Browse files Browse the repository at this point in the history
  • Loading branch information
vegitron committed Jul 31, 2015
1 parent a2f084f commit fa725e5
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
13 changes: 12 additions & 1 deletion sqlshare_rest/dao/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,11 @@
from sqlshare_rest.models import DatasetSharingEmail
from sqlshare_rest.models import Query, RecentDatasetView
from sqlshare_rest.exceptions import InvalidAccountException
from logging import getLogger
from django.db.models import Q

logger = getLogger(__name__)


def get_datasets_owned_by_user(user, request, page_list=True):
# Django auth user vs sqlshare user
Expand Down Expand Up @@ -143,7 +146,15 @@ def create_dataset_from_snapshot(user, dataset_name, source):
if not created:
# Clear out the existing dataset, so we can create
# the new view properly
backend.delete_dataset(dataset_name, user)
try:
backend.delete_dataset(dataset_name, user)
except Exception as ex:
username = user.username
logger.info("Error deleting dataset while creating snapshot."
" User: %s, Dataset: %s,"
" Error: %s" % (username,
dataset_name,
str(ex)))

backend.create_snapshot_dataset(source, model, user)

Expand Down
12 changes: 11 additions & 1 deletion sqlshare_rest/views/dataset.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
from sqlshare_rest.dao.dataset import create_dataset_from_snapshot
from sqlshare_rest.dao.dataset import create_preview_for_dataset
from sqlshare_rest.dao.dataset import get_dataset_by_owner_and_name
from sqlshare_rest.dao.dataset import update_dataset_sql
from sqlshare_rest.dao.dataset import update_dataset_sql, add_public_access
from sqlshare_rest.dao.dataset import remove_public_access
from sqlshare_rest.util.query import get_sample_data_for_query
from sqlshare_rest.logger import getLogger

Expand Down Expand Up @@ -82,7 +83,12 @@ def snapshot(request, owner, name):
request)

new_dataset = create_dataset_from_snapshot(user, new_name, dataset)
if is_public:
new_dataset.is_public = True
else:
new_dataset.is_public = False

new_dataset.save()
response = HttpResponse("")
response["location"] = new_dataset.get_url()
response.status_code = 201
Expand Down Expand Up @@ -165,6 +171,10 @@ def _put_dataset(request, owner, name):
dataset.is_public = is_public

dataset.save()
if is_public:
add_public_access(dataset)
else:
remove_public_access(dataset)

response = HttpResponse(json.dumps(dataset.json_data()))
response.status_code = 201
Expand Down

0 comments on commit fa725e5

Please sign in to comment.