##// END OF EJS Templates
models are passed as instances to templates (dictionaries are not used anymore)...
models are passed as instances to templates (dictionaries are not used anymore) git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@37 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r22:08de53529b15
r22:08de53529b15
Show More
views.py
456 lines | 13.5 KiB | text/x-python | PythonLexer
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 from django.shortcuts import render, redirect, get_object_or_404, HttpResponse
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
Campaign has been added to RadarSys Model...
r13 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
from apps.cgs.forms import CGSConfigurationForm
from apps.jars.forms import JARSConfigurationForm
from apps.usrp.forms import USRPConfigurationForm
from apps.abs.forms import ABSConfigurationForm
from apps.rc.forms import RCConfigurationForm
from apps.dds.forms import DDSConfigurationForm
from .models import Campaign, Experiment, Device, Configuration
Juan C. Espinoza
Updating base models and views ...
r6 from apps.cgs.models import CGSConfiguration
from apps.jars.models import JARSConfiguration
Miguel Urco
Campaign has been added to RadarSys Model...
r13 from apps.usrp.models import USRPConfiguration
Juan C. Espinoza
Updating base models and views ...
r6 from apps.abs.models import ABSConfiguration
from apps.rc.models import RCConfiguration
from apps.dds.models import DDSConfiguration
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0
# Create your views here.
Miguel Urco
Campaign has been added to RadarSys Model...
r13 CONF_FORMS = {
'rc': RCConfigurationForm,
'dds': DDSConfigurationForm,
'jars': JARSConfigurationForm,
'cgs': CGSConfigurationForm,
'abs': ABSConfigurationForm,
'usrp': USRPConfigurationForm,
}
CONF_MODELS = {
Juan C. Espinoza
Updating base models and views ...
r6 'rc': RCConfiguration,
'dds': DDSConfiguration,
'jars': JARSConfiguration,
'cgs': CGSConfiguration,
'abs': ABSConfiguration,
Miguel Urco
Campaign has been added to RadarSys Model...
r13 'usrp': USRPConfiguration,
Juan C. Espinoza
Updating base models and views ...
r6 }
def index(request):
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 kwargs = {}
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'index.html', kwargs)
def devices(request):
devices = Device.objects.all().order_by('device_type__name')
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 # keys = ['id', 'device_type__name', 'name', 'ip_address']
keys = ['id', 'name', 'ip_address', 'device_type']
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
kwargs['device_keys'] = keys[1:]
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 kwargs['devices'] = devices#.values(*keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['title'] = 'Device'
kwargs['suptitle'] = 'List'
kwargs['button'] = 'New Device'
return render(request, 'devices.html', kwargs)
Juan C. Espinoza
Actualizacion de templates y modelos base #263...
r2
Miguel Urco
Campaign has been added to RadarSys Model...
r13 def device(request, id_dev):
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 device = get_object_or_404(Device, pk=id_dev)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Actualizacion de templates y modelos base #263...
r2 kwargs = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['device'] = device
kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
kwargs['title'] = 'Device'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Add Device'
return render(request, 'device.html', kwargs)
Miguel Urco
views name were changed ...
r19 def device_new(request):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
form = DeviceForm()
if request.method == 'POST':
form = DeviceForm(request.POST)
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
Campaign has been added to RadarSys Model...
r13 if form.is_valid():
form.save()
return redirect('url_devices')
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Device'
kwargs['suptitle'] = 'New'
kwargs['button'] = 'Create'
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'device_edit.html', kwargs)
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
views name were changed ...
r19 def device_edit(request, id_dev):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 device = get_object_or_404(Device, pk=id_dev)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method=='GET':
form = DeviceForm(instance=device)
Juan C. Espinoza
Updating base models and views ...
r6 if request.method=='POST':
Miguel Urco
Campaign has been added to RadarSys Model...
r13 form = DeviceForm(request.POST, instance=device)
Juan C. Espinoza
Actualizacion de templates y modelos base #263...
r2 if form.is_valid():
form.save()
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return redirect('url_devices')
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Device'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Update'
return render(request, 'device_edit.html', kwargs)
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
views name were changed ...
r19 def device_delete(request, id_dev):
Miguel Urco
delete interface added to views...
r18
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 device = get_object_or_404(Device, pk=id_dev)
Miguel Urco
delete interface added to views...
r18
if request.method=='POST':
if request.user.is_staff:
device.delete()
return redirect('url_devices')
return HttpResponse("Not enough permission to delete this object")
kwargs = {'object':device, 'dev_active':'active',
'url_cancel':'url_device', 'id_item':id_dev}
return render(request, 'item_delete.html', kwargs)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 def campaigns(request):
campaigns = Campaign.objects.all().order_by('start_date')
keys = ['id', 'name', 'start_date', 'end_date']
kwargs = {}
kwargs['campaign_keys'] = keys[1:]
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 kwargs['campaigns'] = campaigns#.values(*keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'List'
kwargs['button'] = 'New Campaign'
return render(request, 'campaigns.html', kwargs)
def campaign(request, id_camp):
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 campaign = get_object_or_404(Campaign, pk=id_camp)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 experiments = Experiment.objects.filter(campaign=campaign)
form = CampaignForm(instance=campaign)
kwargs = {}
kwargs['campaign'] = campaign
kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
keys = ['id', 'name', 'start_time', 'end_time']
kwargs['experiment_keys'] = keys[1:]
kwargs['experiments'] = experiments.values(*keys)
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'Details'
kwargs['form'] = form
kwargs['button'] = 'Add Experiment'
return render(request, 'campaign.html', kwargs)
Miguel Urco
views name were changed ...
r19 def campaign_new(request):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
form = CampaignForm()
if request.method == 'POST':
form = CampaignForm(request.POST)
if form.is_valid():
campaign = form.save()
return redirect('url_campaign', id_camp=campaign.id)
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'New'
kwargs['button'] = 'Create'
return render(request, 'campaign_edit.html', kwargs)
Miguel Urco
views name were changed ...
r19 def campaign_edit(request, id_camp):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 campaign = get_object_or_404(Campaign, pk=id_camp)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method=='GET':
form = CampaignForm(instance=campaign)
Juan C. Espinoza
Updating base models and views ...
r6 if request.method=='POST':
Miguel Urco
Campaign has been added to RadarSys Model...
r13 form = CampaignForm(request.POST, instance=campaign)
if form.is_valid():
form.save()
return redirect('url_campaign', id_camp=id_camp)
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Update'
return render(request, 'campaign_edit.html', kwargs)
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
views name were changed ...
r19 def campaign_delete(request, id_camp):
Miguel Urco
delete interface added to views...
r18
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 campaign = get_object_or_404(Campaign, pk=id_camp)
Miguel Urco
delete interface added to views...
r18
if request.method=='POST':
if request.user.is_staff:
campaign.delete()
return redirect('url_campaigns')
return HttpResponse("Not enough permission to delete this object")
kwargs = {'object':campaign, 'camp_active':'active',
'url_cancel':'url_campaign', 'id_item':id_camp}
return render(request, 'item_delete.html', kwargs)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 def experiments(request):
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 experiment_list = Experiment.objects.all().order_by('campaign')
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 keys = ['id', 'name', 'start_time', 'end_time', 'campaign']
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Updating base models and views ...
r6 kwargs = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs['experiment_keys'] = keys[1:]
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 kwargs['experiments'] = experiment_list#.values(*keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'List'
kwargs['button'] = 'New Experiment'
return render(request, 'experiments.html', kwargs)
def experiment(request, id_exp):
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 experiment = get_object_or_404(Experiment, pk=id_exp)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
siderbar_devices.html updated...
r17 experiments = Experiment.objects.filter(campaign=experiment.campaign)
configurations = Configuration.objects.filter(experiment=experiment)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
Miguel Urco
siderbar_devices.html updated...
r17 exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time']
conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['experiment_keys'] = exp_keys[1:]
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['experiment'] = experiment
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['experiments'] = experiments.values(*exp_keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['configuration_keys'] = conf_keys[1:]
kwargs['configurations'] = configurations.values(*conf_keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Add Device'
return render(request, 'experiment.html', kwargs)
Miguel Urco
views name were changed ...
r19 def experiment_new(request, id_camp=0):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
form = ExperimentForm(initial={'campaign':id_camp})
Juan C. Espinoza
Updating base models and views ...
r6 if request.method == 'POST':
Miguel Urco
Campaign has been added to RadarSys Model...
r13 form = ExperimentForm(request.POST, initial={'campaign':id_camp})
Juan C. Espinoza
Updating base models and views ...
r6 if form.is_valid():
experiment = form.save()
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return redirect('url_experiment', id_exp=experiment.id)
kwargs = {}
kwargs['form'] = form
Juan C. Espinoza
Updating base models and views ...
r6 kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'New'
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['button'] = 'Create'
return render(request, 'experiment_edit.html', kwargs)
Juan C. Espinoza
Updating base models and views ...
r6
Miguel Urco
views name were changed ...
r19 def experiment_edit(request, id_exp):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 experiment = get_object_or_404(Experiment, pk=id_exp)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
form = ExperimentForm(instance=experiment)
Juan C. Espinoza
Updating base models and views ...
r6 if request.method=='POST':
Miguel Urco
Campaign has been added to RadarSys Model...
r13 form = ExperimentForm(request.POST, instance=experiment)
Juan C. Espinoza
Updating base models and views ...
r6 if form.is_valid():
Miguel Urco
Campaign has been added to RadarSys Model...
r13 experiment = form.save()
return redirect('url_experiment', id_exp=experiment.id)
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Update'
return render(request, 'experiment_edit.html', kwargs)
Juan C. Espinoza
Actualizacion de templates y modelos base #263...
r2
Miguel Urco
views name were changed ...
r19 def experiment_delete(request, id_exp):
Miguel Urco
delete interface added to views...
r18
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 experiment = get_object_or_404(Experiment, pk=id_exp)
Miguel Urco
delete interface added to views...
r18
if request.method=='POST':
if request.user.is_staff:
id_camp = experiment.campaign.id
experiment.delete()
return redirect('url_campaign', id_camp=id_camp)
return HttpResponse("Not enough permission to delete this object")
kwargs = {'object':experiment, 'exp_active':'active',
'url_cancel':'url_experiment', 'id_item':id_exp}
return render(request, 'item_delete.html', kwargs)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 def dev_confs(request):
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 configurations = Configuration.objects.all().order_by('experiment')
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 # keys = ['id', 'device__device_type__name', 'device__name', 'experiment__campaign__name', 'experiment__name']
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 keys = ['id', 'device', 'experiment']
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs = {}
kwargs['configuration_keys'] = keys[1:]
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22 kwargs['configurations'] = configurations#.values(*keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
sidebar_devices updated...
r14 kwargs['title'] = 'Configuration'
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['suptitle'] = 'List'
kwargs['button'] = 'New Configuration'
return render(request, 'dev_confs.html', kwargs)
def dev_conf(request, id_conf):
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
DevConfModel = CONF_MODELS[conf.device.device_type.name]
dev_conf = DevConfModel.objects.get(pk=id_conf)
Juan C. Espinoza
Actualizacion de templates y modelos base #263...
r2 kwargs = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['dev_conf'] = dev_conf
kwargs['dev_conf_keys'] = ['experiment', 'device']
kwargs['title'] = 'Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
Miguel Urco
siderbar_devices.html updated...
r17 ###### SIDEBAR ######
experiments = Experiment.objects.filter(campaign=conf.experiment.campaign)
configurations = Configuration.objects.filter(experiment=conf.experiment)
exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time']
conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
kwargs['experiment_keys'] = exp_keys[1:]
kwargs['experiments'] = experiments.values(*exp_keys)
kwargs['configuration_keys'] = conf_keys[1:]
kwargs['configurations'] = configurations.values(*conf_keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'dev_conf.html', kwargs)
Miguel Urco
views name were changed ...
r19 def dev_conf_new(request, id_exp=0):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
form = ConfigurationForm(initial={'experiment':id_exp})
Juan C. Espinoza
Updating base models and views ...
r6 if request.method == 'POST':
Miguel Urco
Campaign has been added to RadarSys Model...
r13 form = ConfigurationForm(request.POST)
Juan C. Espinoza
Updating base models and views ...
r6 if form.is_valid():
Miguel Urco
Campaign has been added to RadarSys Model...
r13 experiment = Experiment.objects.get(pk=request.POST['experiment'])
device = Device.objects.get(pk=request.POST['device'])
exp_devices = Device.objects.filter(configuration__experiment=experiment)
if device.id not in exp_devices.values('id',):
DevConfModel = CONF_MODELS[device.device_type.name]
conf = DevConfModel(experiment=experiment, device=device)
conf.save()
return redirect('url_experiment', id_exp=experiment.id)
kwargs = {}
Juan C. Espinoza
Updating base models and views ...
r6 kwargs['form'] = form
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['title'] = 'Configuration'
Juan C. Espinoza
Updating base models and views ...
r6 kwargs['suptitle'] = 'New'
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['button'] = 'Create'
return render(request, 'dev_conf_edit.html', kwargs)
Miguel Urco
views name were changed ...
r19 def dev_conf_edit(request, id_conf):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
DevConfModel = CONF_MODELS[conf.device.device_type.name]
DevConfForm = CONF_FORMS[conf.device.device_type.name]
dev_conf = DevConfModel.objects.get(pk=id_conf)
if request.method=='GET':
form = DevConfForm(instance=dev_conf)
if request.method=='POST':
form = DevConfForm(request.POST, instance=dev_conf)
if form.is_valid():
form.save()
return redirect('url_dev_conf', id_conf=id_conf)
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Update'
return render(request, 'dev_conf_edit.html', kwargs)
Miguel Urco
views name were changed ...
r19 def dev_conf_delete(request, id_conf):
Miguel Urco
delete interface added to views...
r18
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
delete interface added to views...
r18
if request.method=='POST':
if request.user.is_staff:
id_exp = conf.experiment.id
conf.delete()
return redirect('url_experiment', id_exp=id_exp)
return HttpResponse("Not enough permission to delete this object")
kwargs = {'object':conf, 'conf_active':'active',
'url_cancel':'url_dev_conf', 'id_item':id_conf}
Miguel Urco
views name were changed ...
r19 return render(request, 'item_delete.html', kwargs)