Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share Model URL fix #496

Closed
wants to merge 4 commits into from
Closed

Conversation

sayamkanwar
Copy link

Hi,
I have fixed the bug in the share model feature which generated different URLs every time. Now it generates only one URL for a model.

Here's a demo

share_patch

Please review @Ram81 @RishabhJain2018
Thank you! :)

@Ram81
Copy link
Member

Ram81 commented Dec 10, 2018

@sayamkanwar how is this different from your work in #477 ?

@sayamkanwar
Copy link
Author

Hi @Ram81,
In #477, on clicking the share button multiple times it created a new network version in the history and it showed multiple ‘Shared Model’ entries earlier, now that has been corrected too.

@sayamkanwar
Copy link
Author

Also @Ram81, what else does the task demand? Wasn’t that the only correction in this task?

user = None
public_sharing = True
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this necessary?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was necessary because then the model would not be shared and hence the canvas will not render the comments and sharing stuff on the model.

except:
return JsonResponse({'result': 'error', 'error': str(sys.exc_info()[1])})

if Network.objects.filter(name=net_name).exists():
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if filter returns null

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's why there is an if statement, if this returns true then this will be executed. Else it will create a new model record.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the result is null, it will return false

user_id = int(user_id)
user = User.objects.get(id=user_id)
# load the model with the net name
model = Network.objects.get(name=net_name)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we using net_name as a unique key?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are using net_name as a unique key because the only similarity between the new model and already existing model would be the model name. That's why I can't use anything else like id.

user = User.objects.get(id=user_id)
# load the model with the net name
model = Network.objects.get(name=net_name)
model_id = model.id
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't there any better way to handle this for anonymous sessions?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Answered above

@sayamkanwar
Copy link
Author

@Ram81, I'm sorry I had to abandon this task as I could not understand what to do in this. But I would like to work on this after the contest too.

@Ram81
Copy link
Member

Ram81 commented Dec 10, 2018

Closing this as student has abandoned the task

@Ram81 Ram81 mentioned this pull request Dec 10, 2018
@Ram81 Ram81 closed this Dec 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants