Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- VIEWS
- def rangospro(request, programa_id=None):
- template_name = "settings/programarank1.html"
- rangos = Rank.objects.filter(activo=True)
- programa = Programa.objects.filter(activo=True)
- form_rangospro = {}
- contexto = {}
- if request.method=="GET":
- form_rangospro = RangosProForm()
- enc = Programa.objects.filter(id=programa_id).first()
- if enc:
- det = ProgramaRank.objects.filter(programa = enc)
- e = {'programa': enc.descripcion,
- 'rangoactual': rangos.rank,
- 'rangonuevo': rangos.rank}
- form_rangospro = RangosProForm(e)
- else:
- det = None
- oontexto = {'rangos': rangos, 'programa': programa, 'encabezado': enc, 'detalle': det, 'form_enc': form_rangospro}
- return render(request,template_name,contexto)
- MODELS
- class Rank(ClaseModelo):
- codigo = models.CharField(
- max_length=5,
- help_text='Rank Codigo',
- unique=True
- )
- descripcion = models.CharField(
- max_length=50,
- help_text='Descripcion del Rango',
- unique=True
- )
- color = RGBColorField(colors=['#FFFFFF','#FBB403','#FBF703','#0D6006','#0CC70C','#B005F5','#000291','#626163','#FF0110','#000000'],default='#FFFFFF')
- def __str__(self):
- return '{} - {}'.format(self.codigo, self.descripcion)
- def save(self):
- self.codigo= self.codigo.upper()
- self.descripcion=self.descripcion.upper()
- self.color = self.color.upper()
- super(Rank,self).save()
- class Meta:
- verbose_name_plural="Ranks"
- class ProgramaRank(models.Model):
- programa = models.ForeignKey(Programa, on_delete=models.CASCADE)
- rangoactual = models.ForeignKey(Rank, related_name="rangoactual", on_delete=models.CASCADE)
- rangonuevo = models.ForeignKey(Rank, related_name='rangonuevo', on_delete=models.CASCADE)
- class Programa(ClaseModelo):
- descripcion = models.CharField(
- max_length=50,
- help_text='Descripcion de Programa',
- unique=True
- )
- def __str__(self):
- return '{}'.format(self.descripcion)
- def save(self):
- self.descripcion = self.descripcion.upper()
- super(Programa, self).save()
- class Meta:
- verbose_name_plural="Programas"
- TEMPLATE
- {% extends 'base/base.html' %}
- {% block content %}
- <form method="post" id="frmCompras">
- {% csrf_token %}
- <div class="col-xl-12 col-md-12 mb-12">
- {% if encabezado %}
- <div class="card border-left-danger shadow h-100 py-2">
- {% else %}
- <div class="card border-left-success shadow h-100 py-2">
- {% endif %}
- <div class="card-body">
- <div class="row no-gutters align-items-center">
- <h2 class="m-2 font-weight-bold text-primary">
- {% if encabezado %} Editar {% else %} Nueva {% endif %} Estructura de Rangos
- </h2>
- </div>
- <div class="card card-body">
- <div class="form-group row">
- <label for="programa" class="col-sm-2 col-form-label">Programa:</label>
- <div class="col-sm-10">
- {{ programa.descripcion }}
- </div>
- </div>
- <div class="form-group row">
- <div class="col-6">
- <div class="form-group">
- <label for="id_rangoactual">Rango Actual:</label>
- {{ rangos.rangoactual }}
- </div>
- </div>
- <div class="col-6">
- <div class="form-group">
- <label for="id_rangonuevo">Rango Nuevo:</label>
- {{ rangos.rangonuevo }}
- </div>
- </div>
- </div>
- <div class="row">
- <table class="table table-striped table-hover dt-responsive nowrap" style="width:100%">
- <thead>
- <th>Rango Actual</th>
- <th>Rango Nuevo</th>
- <th class="all">Acciones</th>
- </thead>
- <tbody>
- {% for item in detalle %}
- <tr>
- <td>{{ item.rangoactual }}</td>
- <td>{{ item.rangonuevo }}</td>
- <td>
- <button class="btn btn-danger btn-circle" onclick="#"><i class="fas fa-trash-alt"></i></button>
- </td>
- </tr>
- {% endfor %}
- </tbody>
- </table>
- </div>
- </div>
- </div>
- </div>
- </form>
- {% endblock %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement