示例#1
0
文件: profile.py 项目: sboots/myewb2
def update_work_record(request, username, work_record_id, object=None):
    other_user = User.objects.get(username=username)
    if object:
        work_record = object
    else:
        work_record = get_object_or_404(WorkRecord, id=work_record_id, user=other_user)
    form = WorkRecordForm(request.POST, instance=work_record)

    # if form saves, redirect to profile_detail
    if form.is_valid():
        work_record = form.save(commit=False)
        work_record.user = other_user
        work_record.save()
        return HttpResponseRedirect(reverse('profile_detail', kwargs={'username': other_user.username }))
        # if save fails, go back to edit_resource page
    else:
        return render_to_response(
                'profiles/edit_work_record.html',
                {
                    'form': form,
                    'work_record': work_record,
                    'other_user': other_user,
                },
                context_instance=RequestContext(request)
                )
示例#2
0
def update_work_record(request, username, work_record_id, object=None):
    other_user = User.objects.get(username=username)
    if object:
        work_record = object
    else:
        work_record = get_object_or_404(WorkRecord,
                                        id=work_record_id,
                                        user=other_user)
    form = WorkRecordForm(request.POST, instance=work_record)

    # if form saves, redirect to profile_detail
    if form.is_valid():
        work_record = form.save(commit=False)
        work_record.user = other_user
        work_record.save()
        return HttpResponseRedirect(
            reverse('profile_detail', kwargs={'username':
                                              other_user.username}))
        # if save fails, go back to edit_resource page
    else:
        return render_to_response('profiles/edit_work_record.html', {
            'form': form,
            'work_record': work_record,
            'other_user': other_user,
        },
                                  context_instance=RequestContext(request))
示例#3
0
文件: profile.py 项目: sboots/myewb2
def create_work_record(request, username, object=None):
    form = WorkRecordForm(request.POST)
    other_user = User.objects.get(username=username)
    if form.is_valid():
        work_record = form.save(commit=False)
        work_record.user = other_user
        
        employer = form.cleaned_data['employer']
        
        """
        # find network ID (based on name they entered)
        # TODO: remove from network when someone ends their employment
        networks = Network.objects.filter(name=employer)
        # networks = networks.filter(network_type='C')
        
        if networks.count() == 0:
            # FIXME: this is duplicated in networks.views.networks_index
            # (refactor to centralize)
            # also kinda dupicated below, create_work_record
            network = Network(network_type='C', slug=employer,
                              name=employer,
                              creator=other_user)
            network.save()
        else:
            network = networks[0]

        # FIXME this should be implemented as a signal - profiles should not know about GroupMember
        existing_members=network.members.filter(user=other_user)
        if existing_members.count() == 0:
            network_member = GroupMember(group=network, user=other_user, is_admin=False)
            network.members.add(network_member)
            network_member.save()

        work_record.network = network
        """
        
        work_record.save()
        return HttpResponseRedirect(reverse('profile_detail', kwargs={'username': other_user.username }))

    else:
        return render_to_response(
                'profiles/new_work_record.html',
                {
                'form': form,
                'other_user': other_user,
                },
                context_instance=RequestContext(request)
                )
示例#4
0
def create_work_record(request, username, object=None):
    form = WorkRecordForm(request.POST)
    other_user = User.objects.get(username=username)
    if form.is_valid():
        work_record = form.save(commit=False)
        work_record.user = other_user

        employer = form.cleaned_data['employer']
        """
        # find network ID (based on name they entered)
        # TODO: remove from network when someone ends their employment
        networks = Network.objects.filter(name=employer)
        # networks = networks.filter(network_type='C')
        
        if networks.count() == 0:
            # FIXME: this is duplicated in networks.views.networks_index
            # (refactor to centralize)
            # also kinda dupicated below, create_work_record
            network = Network(network_type='C', slug=employer,
                              name=employer,
                              creator=other_user)
            network.save()
        else:
            network = networks[0]

        # FIXME this should be implemented as a signal - profiles should not know about GroupMember
        existing_members=network.members.filter(user=other_user)
        if existing_members.count() == 0:
            network_member = GroupMember(group=network, user=other_user, is_admin=False)
            network.members.add(network_member)
            network_member.save()

        work_record.network = network
        """

        work_record.save()
        return HttpResponseRedirect(
            reverse('profile_detail', kwargs={'username':
                                              other_user.username}))

    else:
        return render_to_response('profiles/new_work_record.html', {
            'form': form,
            'other_user': other_user,
        },
                                  context_instance=RequestContext(request))
示例#5
0
def new_work_record(request,
                    username,
                    template_name='profiles/new_work_record.html',
                    object=None):
    # Handle POST to new as a create request
    if request.method == 'POST':
        return work_records_index(request, username)
    other_user = get_object_or_404(User, username=username)
    form = WorkRecordForm()
    return render_to_response(template_name, {
        'form': form,
        'other_user': other_user,
    },
                              context_instance=RequestContext(request))
示例#6
0
def edit_work_record(request,
                     username,
                     work_record_id,
                     template_name='profiles/edit_work_record.html',
                     object=None):
    if request.method == 'POST':
        return update_work_record(request,
                                  username,
                                  work_record_id,
                                  object=object)
    other_user = get_object_or_404(User, username=username)
    if object:
        work_record = object
    else:
        work_record = get_object_or_404(WorkRecord,
                                        id=work_record_id,
                                        user=other_user)
    form = WorkRecordForm(instance=work_record)
    return render_to_response(template_name, {
        'form': form,
        'work_record': work_record,
        'other_user': other_user,
    },
                              context_instance=RequestContext(request))