Example #1
0
def edit(request, token):
    
    '''
        View a token.
        You must have view permission for this object to be able to do this
        otherwise you will get a nasty 403 Fobidden error!
    '''
    
    #get or 404 the token
    token_object = get_object_or_404(Token,pk=token)
    if has_permission(token_object, request.user, 'view'):
        if request.method == "POST":
            form = TokenForm(request.POST, instance=token_object)
            
            if form.is_valid():
                
                token = form.save()
                
                # redirect to home
                return HttpResponseRedirect(reverse('home_view'))
                
        else:
            form = TokenForm(instance=token_object)
            
        return render_to_response("create_token.html", {"form": form,'edit_mode':True, 'token':token_object}, context_instance=RequestContext(request) )
    else:
        raise PermissionDenied()
Example #2
0
def create(request, document_id):
    document = get_object_or_404(edit.models.Document, id=document_id)

    token_form = TokenForm(request.POST)

    if token_form.is_valid():
        token = token_form.save(commit=False)
        token.document_id = document.id
        token.save()

    return redirect(reverse('edit:index', kwargs={'document_id': document_id}) + "#fndtn-tokens")
Example #3
0
def create(request):
    '''
        Create a new token, for which the logged in user will be the owner
    '''
    
    if request.method == "POST":
        form = TokenForm(request.POST)
        
        if form.is_valid():
            
            token = form.save()
            

            #get the user and supervisor
            user = request.user
            supervisor = user.supervisee.all()[0].supervisor
            #get the researcher and supervisor  roles
            token_generator_role = Role.objects.get(name='Token_Generator')
            supervisor_role = Role.objects.get(name='Supervisor')
            
            #get the approval workflow
            approval_workflow = Workflow.objects.get(name='Token_Approval')
            
            #add the user and their supervisor as local roles for this token
            add_local_role(token, user, token_generator_role)
            add_local_role(token, supervisor, supervisor_role)
            
            
            set_workflow(token, approval_workflow)
            
            # redirect to home
            return HttpResponseRedirect(reverse('home_view'))
            
    else:
        form = TokenForm()
        
    return render_to_response("create_token.html", {"form": form,'edit':False,}, context_instance=RequestContext(request) )