##// END OF EJS Templates
Task # 487: Operation View: bt_refresh...
Task # 487: Operation View: bt_refresh git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@108 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r85:d4fe0e132735
r87:249d90f0420d
Show More
views.py
961 lines | 29.6 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
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 from django.contrib import messages
Juan C. Espinoza
Updating base models and views ...
r6
Juan C. Espinoza
Update several views and models in main app...
r85 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm, LocationForm, UploadFileForm, DownloadFileForm, OperationForm, NewForm
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 from .forms import OperationSearchForm
Miguel Urco
Campaign has been added to RadarSys Model...
r13 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
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 from .models import Campaign, Experiment, Device, Configuration, Location, RunningExperiment
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)
Miguel Urco
Location model added to RadarSys...
r41 def locations(request):
locations = Location.objects.all().order_by('name')
keys = ['id', 'name', 'description']
kwargs = {}
kwargs['location_keys'] = keys[1:]
kwargs['locations'] = locations
kwargs['title'] = 'Location'
kwargs['suptitle'] = 'List'
kwargs['button'] = 'New Location'
return render(request, 'locations.html', kwargs)
def location(request, id_loc):
location = get_object_or_404(Location, pk=id_loc)
kwargs = {}
kwargs['location'] = location
kwargs['location_keys'] = ['name', 'description']
kwargs['title'] = 'Location'
kwargs['suptitle'] = 'Details'
return render(request, 'location.html', kwargs)
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 #def location_play(request, id_camp, id_loc):
# campaign = get_object_or_404(Campaign, pk=id_camp)
# print campaign
# location = get_object_or_404(Location, pk=id_loc)
# experiments = Experiment.objects.filter(location__pk=location.id).filter(campaign__pk=campaign.id)
# locations = Location.objects.filter(pk=id_loc)
# if request.method=='GET':
# form = OperationForm(initial={'campaign': campaign.id})
# kwargs = {}
#---Campaign
# kwargs['campaign'] = campaign
# kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
#---Experiment
# keys = ['id', 'name', 'start_time', 'end_time']
# kwargs['experiment_keys'] = keys[1:]
# kwargs['experiments'] = experiments
#---Radar
# kwargs['location'] = location
#---Else
# kwargs['title'] = 'Campaign'
# kwargs['suptitle'] = campaign.name
# kwargs['form'] = form
# kwargs['button'] = 'Search'
# return render(request, 'operation_play.html', kwargs)
Miguel Urco
Location model added to RadarSys...
r41 def location_new(request):
if request.method == 'GET':
form = LocationForm()
if request.method == 'POST':
form = LocationForm(request.POST)
if form.is_valid():
form.save()
return redirect('url_locations')
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Location'
kwargs['suptitle'] = 'New'
kwargs['button'] = 'Create'
return render(request, 'location_edit.html', kwargs)
def location_edit(request, id_loc):
location = get_object_or_404(Location, pk=id_loc)
if request.method=='GET':
form = LocationForm(instance=location)
if request.method=='POST':
form = LocationForm(request.POST, instance=location)
if form.is_valid():
form.save()
return redirect('url_locations')
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'Location'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Update'
return render(request, 'location_edit.html', kwargs)
def location_delete(request, id_loc):
location = get_object_or_404(Location, pk=id_loc)
if request.method=='POST':
if request.user.is_staff:
location.delete()
return redirect('url_locations')
return HttpResponse("Not enough permission to delete this object")
kwargs = {'object':location, 'loc_active':'active',
'url_cancel':'url_location', 'id_item':id_loc}
return render(request, 'item_delete.html', kwargs)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 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']
Miguel Urco
Location model added to RadarSys...
r41 keys = ['id', 'name', 'ip_address', 'port_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'
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
Models changed:...
r53 experiments = Experiment.objects.filter(campaign=campaign)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 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:]
Miguel Urco
Models changed:...
r53 kwargs['experiments'] = experiments.values(*keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
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
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13 if request.method == 'GET':
Juan C. Espinoza
Update several views and models in main app...
r85
if 'template' in request.GET:
if request.GET['template']=='0':
form = NewForm(initial={'create_from':2},
template_choices=Campaign.objects.filter(template=True).values_list('id', 'name'))
else:
kwargs['button'] = 'Create'
kwargs['experiments'] = Configuration.objects.filter(experiment=request.GET['template'])
kwargs['experiment_keys'] = ['name', 'start_time', 'end_time']
form = CampaignForm(instance=Campaign.objects.get(pk=request.GET['template']),
initial={'template':False})
elif 'blank' in request.GET:
kwargs['button'] = 'Create'
form = CampaignForm()
else:
form = NewForm()
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'POST':
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs['button'] = 'Create'
post = request.POST.copy()
experiments = []
for id_exp in post.getlist('experiments'):
exp = Experiment.objects.get(pk=id_exp)
new_exp = exp.clone(template=False)
experiments.append(new_exp)
post.setlist('experiments', [])
form = CampaignForm(post)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if form.is_valid():
campaign = form.save()
Juan C. Espinoza
Update several views and models in main app...
r85 for exp in experiments:
campaign.experiments.add(exp)
campaign.save()
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return redirect('url_campaign', id_camp=campaign.id)
kwargs['form'] = form
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'New'
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:
Juan C. Espinoza
Update several views and models in main app...
r85
for exp in campaign.experiments.all():
for conf in Configuration.objects.filter(experiment=exp):
conf.delete()
exp.delete()
Miguel Urco
delete interface added to views...
r18 campaign.delete()
Juan C. Espinoza
Update several views and models in main app...
r85
Miguel Urco
delete interface added to views...
r18 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):
Juan C. Espinoza
Update several views and models in main app...
r85 experiment_list = Experiment.objects.all()
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Update several views and models in main app...
r85 keys = ['id', 'name', 'start_time', 'end_time']
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:]
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs['experiments'] = experiment_list
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
Location model added to RadarSys...
r41 configurations = Configuration.objects.filter(experiment=experiment, type=0)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
Juan C. Espinoza
Update several views and models in main app...
r85 exp_keys = ['id', 'location', 'name', 'start_time', 'end_time']
Miguel Urco
Location model added to RadarSys...
r41 conf_keys = ['id', 'device__name', 'device__device_type', 'device__ip_address', 'device__port_address']
Miguel Urco
siderbar_devices.html updated...
r17
Miguel Urco
Location model added to RadarSys...
r41 conf_labels = ['id', 'device__name', 'device_type', 'ip_address', 'port_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
Location model added to RadarSys...
r41 kwargs['configuration_labels'] = conf_labels[1:]
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['configuration_keys'] = conf_keys[1:]
Miguel Urco
Location model added to RadarSys...
r41 kwargs['configurations'] = configurations #.values(*conf_keys)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs['title'] = 'Experiment'
kwargs['suptitle'] = 'Details'
Juan C. Espinoza
Update RC models, views, templates & statics...
r45 kwargs['button'] = 'Add Configuration'
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Update several views and models in main app...
r85 ###### SIDEBAR ######
kwargs.update(sidebar(experiment=experiment))
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'experiment.html', kwargs)
Juan C. Espinoza
Update several views and models in main app...
r85
Juan C. Espinoza
- Update rc app...
r79 def experiment_new(request, id_camp=None):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13 if request.method == 'GET':
Juan C. Espinoza
Update several views and models in main app...
r85 if 'template' in request.GET:
if request.GET['template']=='0':
form = NewForm(initial={'create_from':2},
template_choices=Experiment.objects.filter(template=True).values_list('id', 'name'))
else:
kwargs['button'] = 'Create'
kwargs['configurations'] = Configuration.objects.filter(experiment=request.GET['template'])
kwargs['configuration_keys'] = ['name', 'device__name', 'device__ip_address', 'device__port_address']
form = ExperimentForm(instance=Experiment.objects.get(pk=request.GET['template']),
initial={'template':False})
elif 'blank' in request.GET:
kwargs['button'] = 'Create'
form = ExperimentForm()
else:
form = NewForm()
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Updating base models and views ...
r6 if request.method == 'POST':
Juan C. Espinoza
Update several views and models in main app...
r85 form = ExperimentForm(request.POST)
Juan C. Espinoza
Updating base models and views ...
r6 if form.is_valid():
experiment = form.save()
Juan C. Espinoza
Update several views and models in main app...
r85
if 'template' in request.GET:
configurations = Configuration.objects.filter(experiment=request.GET['template'], type=0)
for conf in configurations:
conf.clone(experiment=experiment, template=False)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return redirect('url_experiment', id_exp=experiment.id)
Juan C. Espinoza
Update several views and models in main app...
r85
Miguel Urco
Campaign has been added to RadarSys Model...
r13 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
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:
experiment.delete()
Juan C. Espinoza
Update several views and models in main app...
r85 return redirect('url_experiments')
Miguel Urco
delete interface added to views...
r18
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
Location model added to RadarSys...
r41 configurations = Configuration.objects.all().order_by('type', 'device__device_type', '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
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 keys = ['id', 'device', 'experiment', 'type', 'programmed_date']
Miguel Urco
models are passed as instances to templates (dictionaries are not used anymore)...
r22
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
Juan C. Espinoza
- Update rc app...
r79 return redirect(conf.get_absolute_url())
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
- Update rc app...
r79
def dev_conf_new(request, id_exp=0, id_dev=0):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
- Update rc app...
r79 initial = {}
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Update several views and models in main app...
r85 if id_exp<>0:
Juan C. Espinoza
- Update rc app...
r79 initial['experiment'] = id_exp
Miguel Urco
siderbar_devices.html updated...
r17
Juan C. Espinoza
- Update rc app...
r79 if id_dev<>0:
initial['device'] = id_dev
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method == 'GET':
Juan C. Espinoza
- Update rc app...
r79 if id_dev==0:
form = ConfigurationForm(initial=initial)
else:
device = Device.objects.get(pk=id_dev)
DevConfForm = CONF_FORMS[device.device_type.name]
form = DevConfForm(initial=initial)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Updating base models and views ...
r6 if request.method == 'POST':
Miguel Urco
template attribute added to RadarSys Models...
r47
Juan C. Espinoza
- Update rc app...
r79 device = Device.objects.get(pk=request.POST['device'])
Miguel Urco
template attribute added to RadarSys Models...
r47 DevConfForm = CONF_FORMS[device.device_type.name]
Juan C. Espinoza
- Update rc app...
r79
form = DevConfForm(request.POST)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Juan C. Espinoza
Updating base models and views ...
r6 if form.is_valid():
Miguel Urco
template attribute added to RadarSys Models...
r47 dev_conf = form.save()
Juan C. Espinoza
- Update rc app...
r79 return redirect('url_dev_confs')
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
Juan C. Espinoza
- Update rc app...
r79 kwargs['id_exp'] = id_exp
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'
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 ###### SIDEBAR ######
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs.update(sidebar(conf=conf))
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
DDS commands working...
r57 return render(request, '%s_conf_edit.html' %conf.device.device_type.name, kwargs)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Models changed:...
r53 def dev_conf_start(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
DevConfModel = CONF_MODELS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
if conf.start_device():
messages.success(request, conf.message)
else:
messages.error(request, conf.message)
Miguel Urco
DDS commands working...
r57
conf.status_device()
Miguel Urco
Models changed:...
r53 return redirect(conf.get_absolute_url())
def dev_conf_stop(request, id_conf):
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Models changed:...
r53 DevConfModel = CONF_MODELS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
if conf.stop_device():
messages.success(request, conf.message)
else:
messages.error(request, conf.message)
Miguel Urco
DDS commands working...
r57 conf.status_device()
Miguel Urco
Models changed:...
r53 return redirect(conf.get_absolute_url())
def dev_conf_status(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
DevConfModel = CONF_MODELS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
if conf.status_device():
messages.success(request, conf.message)
else:
messages.error(request, conf.message)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
Models changed:...
r53 return redirect(conf.get_absolute_url())
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
def dev_conf_write(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Models changed:...
r53 DevConfModel = CONF_MODELS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
answer = conf.write_device()
Miguel Urco
DDS commands working...
r57 conf.status_device()
Miguel Urco
Models changed:...
r53
if answer:
messages.success(request, conf.message)
Juan C. Espinoza
Update several views and models in main app...
r85 #Creating a historical configuration
conf.clone(type=0, template=False)
Miguel Urco
Models changed:...
r53
Miguel Urco
DDS commands working...
r57 #Original configuration
conf = DevConfModel.objects.get(pk=id_conf)
Miguel Urco
Models changed:...
r53 else:
messages.error(request, conf.message)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
Models changed:...
r53 return redirect(conf.get_absolute_url())
def dev_conf_read(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
DevConfModel = CONF_MODELS[conf.device.device_type.name]
DevConfForm = CONF_FORMS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
if request.method=='GET':
parms = conf.read_device()
Miguel Urco
DDS commands working...
r57 conf.status_device()
Miguel Urco
Models changed:...
r53
if not parms:
messages.error(request, conf.message)
return redirect(conf.get_absolute_url())
form = DevConfForm(initial=parms, instance=conf)
if request.method=='POST':
form = DevConfForm(request.POST, instance=conf)
if form.is_valid():
Miguel Urco
DDS commands working...
r57 form.save()
return redirect(conf.get_absolute_url())
Miguel Urco
Models changed:...
r53
messages.error(request, "Parameters could not be saved")
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Parameters read from device'
kwargs['button'] = 'Save'
###### SIDEBAR ######
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs.update(sidebar(conf=conf))
Miguel Urco
Models changed:...
r53
Miguel Urco
DDS commands working...
r57 return render(request, '%s_conf_edit.html' %conf.device.device_type.name, kwargs)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
def dev_conf_import(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Models changed:...
r53 DevConfModel = CONF_MODELS[conf.device.device_type.name]
Juan C. Espinoza
Update several views and models in main app...
r85 DevConfForm = CONF_FORMS[conf.device.device_type.name]
Miguel Urco
Models changed:...
r53 conf = DevConfModel.objects.get(pk=id_conf)
if request.method == 'GET':
file_form = UploadFileForm()
if request.method == 'POST':
file_form = UploadFileForm(request.POST, request.FILES)
if file_form.is_valid():
parms = conf.import_from_file(request.FILES['file'])
if parms:
messages.success(request, "Parameters imported from: '%s'." %request.FILES['file'].name)
form = DevConfForm(initial=parms, instance=conf)
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Parameters imported'
kwargs['button'] = 'Save'
kwargs['action'] = conf.get_absolute_url_edit()
kwargs['previous'] = conf.get_absolute_url()
###### SIDEBAR ######
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs.update(sidebar(conf=conf))
Miguel Urco
Models changed:...
r53
Juan C. Espinoza
- Update rc app...
r79 return render(request, '%s_conf_edit.html' % conf.device.device_type.name, kwargs)
Miguel Urco
Models changed:...
r53
messages.error(request, "Could not import parameters from file")
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['title'] = 'Device Configuration'
kwargs['form'] = file_form
kwargs['suptitle'] = 'Importing file'
kwargs['button'] = 'Import'
Juan C. Espinoza
Update several views and models in main app...
r85 kwargs.update(sidebar(conf=conf))
Miguel Urco
Models changed:...
r53
return render(request, 'dev_conf_import.html', kwargs)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
def dev_conf_export(request, id_conf):
conf = get_object_or_404(Configuration, pk=id_conf)
Miguel Urco
Models changed:...
r53 DevConfModel = CONF_MODELS[conf.device.device_type.name]
conf = DevConfModel.objects.get(pk=id_conf)
if request.method == 'GET':
Miguel Urco
DDS commands working...
r57 file_form = DownloadFileForm(conf.device.device_type.name)
Miguel Urco
Models changed:...
r53
if request.method == 'POST':
Miguel Urco
DDS commands working...
r57 file_form = DownloadFileForm(conf.device.device_type.name, request.POST)
Miguel Urco
Models changed:...
r53
if file_form.is_valid():
Miguel Urco
DDS commands working...
r57 fields = conf.export_to_file(format = file_form.cleaned_data['format'])
Miguel Urco
Models changed:...
r53
response = HttpResponse(content_type=fields['content_type'])
response['Content-Disposition'] = 'attachment; filename="%s"' %fields['filename']
response.write(fields['content'])
return response
messages.error(request, "Could not export parameters")
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['title'] = 'Device Configuration'
kwargs['form'] = file_form
kwargs['suptitle'] = 'Exporting file'
kwargs['button'] = 'Export'
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
Models changed:...
r53 return render(request, 'dev_conf_export.html', kwargs)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
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}
Juan C. Espinoza
Updates to models, views & forms for CR...
r25 return render(request, 'item_delete.html', kwargs)
Juan C. Espinoza
Update several views and models in main app...
r85
def sidebar(**kwargs):
Juan C. Espinoza
Updates to models, views & forms for CR...
r25
Juan C. Espinoza
Update several views and models in main app...
r85 side_data = {}
conf = kwargs.get('conf', None)
experiment = kwargs.get('experiment', None)
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Juan C. Espinoza
Update several views and models in main app...
r85 if not experiment:
experiment = conf.experiment
if experiment:
side_data['experiment'] = experiment
campaign = experiment.campaign_set.all()
if campaign:
side_data['campaign'] = campaign[0]
experiments = campaign[0].experiments.all()
else:
experiments = [experiment]
configurations = experiment.configuration_set.filter(type=0)
side_data['side_experiments'] = experiments
side_data['side_configurations'] = configurations
Juan C. Espinoza
Updates to models, views & forms for CR...
r25
Juan C. Espinoza
Update several views and models in main app...
r85 return side_data
Juan C. Espinoza
Update base template: main menu...
r46
Fiorella Quino
Task #487: Vista de Operacion...
r50 def operation(request, id_camp=None):
Miguel Urco
Models changed:...
r53 if not id_camp:
campaigns = Campaign.objects.all().order_by('-start_date')
if not campaigns:
Fiorella Quino
Task #487: Si no hay Campañas (bug)...
r76 kwargs = {}
Fiorella Quino
Task #487: Si no hay Campañas...
r75 kwargs['title'] = 'No Campaigns'
kwargs['suptitle'] = 'Empty'
Fiorella Quino
Task #487: Si no hay Campañas (bug)...
r77 return render(request, 'operation.html', kwargs)
Fiorella Quino
Task #487: Vista de Operacion...
r50
Miguel Urco
Models changed:...
r53 id_camp = campaigns[0].id
campaign = get_object_or_404(Campaign, pk = id_camp)
Fiorella Quino
Task #487: Vista de Operacion...
r50 if request.method=='GET':
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 form = OperationForm(initial={'campaign': campaign.id}, length = 5)
Fiorella Quino
Task #487: Vista de Operacion...
r50
Miguel Urco
Models changed:...
r53 if request.method=='POST':
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 form = OperationForm(request.POST, initial={'campaign':campaign.id}, length = 5)
Miguel Urco
Models changed:...
r53
Fiorella Quino
Task #487: Vista de Operacion...
r50 if form.is_valid():
return redirect('url_operation', id_camp=campaign.id)
Fiorella Quino
Task #487: Vista Operation segun nuevo modelo....
r81 #locations = Location.objects.filter(experiment__campaign__pk = campaign.id).distinct()
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 experiments = Experiment.objects.filter(campaign__pk=campaign.id)
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 for exs in experiments:
exs.get_status()
Fiorella Quino
Task #487: Vista Operation segun nuevo modelo....
r81 locations= Location.objects.filter(experiment=experiments).distinct()
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 #experiments = [Experiment.objects.filter(location__pk=location.id).filter(campaign__pk=campaign.id) for location in locations]
Fiorella Quino
Task #487: Vista de Operacion...
r50 kwargs = {}
#---Campaign
kwargs['campaign'] = campaign
kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 #---Experiment
Fiorella Quino
Task #487: Vista Operation segun nuevo modelo....
r81 keys = ['id', 'name', 'start_time', 'end_time', 'status']
Fiorella Quino
Task #487: Vista de Operacion...
r50 kwargs['experiment_keys'] = keys[1:]
kwargs['experiments'] = experiments
#---Radar
Miguel Urco
Models changed:...
r53 kwargs['locations'] = locations
Fiorella Quino
Task #487: Vista de Operacion...
r50 #---Else
Miguel Urco
Models changed:...
r53 kwargs['title'] = 'Campaign'
Fiorella Quino
Task #487: Vista de Operacion...
r50 kwargs['suptitle'] = campaign.name
kwargs['form'] = form
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 kwargs['button'] = 'Search'
Fiorella Quino
Task #487: Vista de Operation...
r71 kwargs['details'] = True
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 kwargs['search_button'] = True
return render(request, 'operation.html', kwargs)
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 def operation_search(request, id_camp=None):
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69
if not id_camp:
campaigns = Campaign.objects.all().order_by('-start_date')
if not campaigns:
return render(request, 'operation.html', {})
id_camp = campaigns[0].id
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 campaign = get_object_or_404(Campaign, pk = id_camp)
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 if request.method=='GET':
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69 form = OperationSearchForm(initial={'campaign': campaign.id})
if request.method=='POST':
form = OperationSearchForm(request.POST, initial={'campaign':campaign.id})
if form.is_valid():
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 return redirect('url_operation', id_camp=campaign.id)
Fiorella Quino
Task #487: Operation View. Se puede seleccionar una de las 5 ultimas Campañas o se puede buscar entre todas las existentes....
r69
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 #locations = Location.objects.filter(experiment__campaign__pk = campaign.id).distinct()
experiments = Experiment.objects.filter(campaign__pk=campaign.id)
for exs in experiments:
exs.get_status()
locations= Location.objects.filter(experiment=experiments).distinct()
form = OperationSearchForm(initial={'campaign': campaign.id})
kwargs = {}
#---Campaign
kwargs['campaign'] = campaign
kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
#---Experiment
keys = ['id', 'name', 'start_time', 'end_time', 'status']
kwargs['experiment_keys'] = keys[1:]
kwargs['experiments'] = experiments
#---Radar
kwargs['locations'] = locations
#---Else
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = campaign.name
kwargs['form'] = form
kwargs['button'] = 'Select'
kwargs['details'] = True
kwargs['search_button'] = False
return render(request, 'operation.html', kwargs)
def radar_play(request, id_camp, id_radar):
Fiorella Quino
Task #487: Vista de Operacion...
r50
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 route = request.META['HTTP_REFERER']
route = str(route)
if 'search' in route:
return HttpResponseRedirect(reverse('url_operation_search', args=[id_camp]))
else:
return HttpResponseRedirect(reverse('url_operation', args=[id_camp]))
def radar_stop(request, id_camp, id_radar):
Juan C. Espinoza
Update several views and models in main app...
r85
Fiorella Quino
Task #487: Operation. Views: radar_play y radar_stop. Models: RunningExperiment. Attributes: status. Methods: get_status(), status_color()...
r84 route = request.META['HTTP_REFERER']
route = str(route)
if 'search' in route:
return HttpResponseRedirect(reverse('url_operation_search', args=[id_camp]))
else:
Juan C. Espinoza
Update several views and models in main app...
r85 return HttpResponseRedirect(reverse('url_operation', args=[id_camp]))