Skip to content

Instantly share code, notes, and snippets.

@ddemid
Created December 15, 2014 17:47
Show Gist options
  • Save ddemid/bc1def53eda2a1eb5efa to your computer and use it in GitHub Desktop.
Save ddemid/bc1def53eda2a1eb5efa to your computer and use it in GitHub Desktop.
@ajax_login_required
def share_content(request):
if request.method == 'POST':
model = request.POST.get('model').split('.')
Model = get_model(model[0], model[1])
shared_object = Model.objects.get(pk=request.POST.get('pk'))
queryset_companies = _get_company_queryset(shared_object=shared_object)
form = ShareContentForm(queryset=queryset_companies, data=request.POST)
if form.is_valid():
for company in form.cleaned_data.get('companies'):
shared_object.shared_to.add(company)
messages.success(request, _('Content has been shared.'))
return redirect('lbb_stream_business')
elif request.method == 'GET':
model = request.GET.get('model').split('.')
Model = get_model(model[0], model[1])
shared_object = Model.objects.get(pk=request.GET.get('pk'))
queryset_companies = _get_company_queryset(shared_object=shared_object)
form = ShareContentForm(queryset=queryset_companies)
return render(request, 'companies/share_content_form.html', {'form': form,
'pk': shared_object.pk,
'model': request.GET.get('model')})
def _get_company_queryset(shared_object):
queryset_companies = CompanyOffice.objects.filter(company=shared_object.office.company).exclude(pk=shared_object.pk)
return queryset_companies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment