def hardware_add(request, type_id=None, object_id=None): if object_id is None: web = webs.hardware_web() breadcrumbs = web.get_add_breadcrumbs() else: object = get_object_or_404(models.hardware, pk=object_id) object = object.get_object() web = webs.get_web_from_object(object) breadcrumbs = web.get_view_breadcrumbs(object) breadcrumbs.append(webs.breadcrumb(web.get_add_to_instance_url(object,type_id),"add hardware")) if request.method == 'POST': form = forms.hardware_type_form(request.POST, request.FILES) if form.is_valid(): new_type = form.cleaned_data['type'] url = web.get_add_url(new_type) url = request.GET.get("next",url) return HttpResponseRedirect(url) else: form = forms.hardware_type_form() return render_to_response("lintory/hardware_type.html", { 'breadcrumbs': breadcrumbs, 'form' : form, 'media' : form.media, },context_instance=RequestContext(request))
def location_task(request, object_id, task_id): web = webs.location_web() object = get_object_or_404(models.location, pk=object_id) task = get_object_or_404(models.task, pk=task_id) breadcrumbs = web.get_view_breadcrumbs(object) breadcrumbs.append(webs.breadcrumb(reverse('location_task_list',kwargs={'object_id':object_id}),"tasks")) breadcrumbs.append(webs.breadcrumb(reverse('location_task',kwargs={'object_id':object_id,'task_id':task_id}),task)) return render_to_response('lintory/location_tasks.html', { 'object': object, 'task': task, 'breadcrumbs': breadcrumbs, 'todo_hardware_tasks': models.hardware_task.objects.filter(hardware__in=object.get_self_or_children_hardware(),date_complete__isnull=True,task=task), },context_instance=RequestContext(request))
def root(request): breadcrumbs = [ ] breadcrumbs.append(webs.breadcrumb(reverse("root"),_("Home"))) return render_to_response('lintory/index.html', { 'breadcrumbs': breadcrumbs, }, context_instance=RequestContext(request))
def software_add_license(request,object_id): object = get_object_or_404(models.software, pk=object_id) web = webs.software_web() breadcrumbs = web.get_view_breadcrumbs(object) breadcrumbs.append(webs.breadcrumb(web.get_add_license_url(object),"add software license")) l_web = webs.license_web() error = l_web.check_add_perms(request, breadcrumbs) if error is not None: return error if request.method == 'POST': form = forms.license_add_form(request.POST, request.FILES) if form.is_valid(): valid = True # we try to get license_key first, in case something goes wrong. # if something goes wrong, no license will be created. key = form.cleaned_data['key'].strip() lk_web = webs.license_key_web() try: # try to find existing license for key if lk_web.has_edit_perms(request.user): license_key = models.license_key.objects.get(key=key,software=object) else: msg = u"License key exists and no permission to modify" form._errors["key"] = util.ErrorList([msg]) valid = False except models.license_key.DoesNotExist, e: # no license found, we have to create one if lk_web.has_add_perms(request.user): license_key = models.license_key() license_key.software = object license_key.key = key else: msg = u"License key doesn't exist and no permission to add one" form._errors["key"] = util.ErrorList([msg]) valid = False # Can we continue? if valid: # we need to create the license license license = models.license() license.vendor_tag = form.cleaned_data['vendor_tag'] license.installations_max = form.cleaned_data['installations_max'] license.version = form.cleaned_data['version'] license.expires = form.cleaned_data['expires'] license.owner = form.cleaned_data['owner'] license.save() # Update license_key with license we just got license_key.license = license license_key.save() # we finished url = l_web.get_view_url(license) url = request.GET.get("next",url) return HttpResponseRedirect(url)
def party_software_detail(request, object_id, software_id): if object_id != "none": object = get_object_or_404(models.party, pk=object_id) else: object = models.Nobody() template='lintory/party_software_detail.html' software = get_object_or_404(models.software, pk=software_id) web = webs.party_web() breadcrumbs = web.get_view_breadcrumbs(object) breadcrumbs.append(webs.breadcrumb(web.get_software_list_url(object),"software list")) breadcrumbs.append(webs.breadcrumb(web.get_software_view_url(object, software),software)) return render_to_response(template, { 'party': object, 'software': software, 'software_web': webs.software_web(), 'breadcrumbs': breadcrumbs, },context_instance=RequestContext(request))
def software_installation_edit_license_key(request,object_id): web = webs.software_installation_web() software_web = webs.software_web() object = get_object_or_404(models.software_installation, pk=object_id) breadcrumbs = software_web.get_view_breadcrumbs(object.software) breadcrumbs.append(webs.breadcrumb(web.get_edit_license_key_url(object),"edit license key")) web = webs.software_installation_web() error = web.check_edit_perms(request, breadcrumbs) if error is not None: return error if request.method == 'POST': form = forms.license_key_select_form(object.software,request.POST,request.FILES) if form.is_valid(): if form.cleaned_data['key'] == "": license_key = None else: license_key = get_object_or_404(models.license_key, pk=form.cleaned_data['key']) object.license_key = license_key object.save() url = software_web.get_view_url(object.software) url = request.GET.get("next",url) return HttpResponseRedirect(url) else: if object.license_key is None: key = "" else: key = object.license_key.pk form = forms.license_key_select_form(object.software,{'key': key}) # fix me, choice may be null return render_to_response('django_webs/object_edit.html', { 'object': object, 'breadcrumbs': breadcrumbs, 'form' : form, 'media' : form.media, },context_instance=RequestContext(request))