Пример #1
0
 def form_valid(self, form):
     tarea = Tarea.objects.get(pk=self.kwargs['pk_task'])
     form.instance.tarea = tarea
     form_data = form.save()
     register_activity_profile_user(
         self.request.user,
         'Archivo subido de la tarea ' + tarea.nombre_tarea +
         ' de la actividad ' + tarea.actividad.nombre_actividad +
         ' en el proyecto ' + tarea.actividad.proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, tarea.actividad.proyecto,
         'Archivo subido de la tarea ' + tarea.nombre_tarea +
         ' de la actividad ' + tarea.actividad.nombre_actividad +
         ' en el proyecto ' + tarea.actividad.proyecto.nombre_proyecto)
     for users in tarea.actividad.actividad_role_set.all():
         register_notification(
             users.role.user, 'fa-file',
             'Hay un nuevo archivo subido en la tarea <a href="/project/' +
             str(tarea.actividad.proyecto.pk) + '/' +
             tarea.actividad.proyecto.tag_url + '/activities/' +
             str(tarea.actividad.pk) + '/task/' + str(tarea.pk) +
             '/detail-task/">' + tarea.nombre_tarea +
             '</a> de la actividad <a href="/project/' +
             str(tarea.actividad.proyecto.pk) + '/' +
             tarea.actividad.proyecto.tag_url + '/activities/' +
             str(tarea.actividad.pk) + '/detail-activity/">' +
             tarea.actividad.nombre_actividad +
             '</a> del proyecto <a href="/project/' +
             str(tarea.actividad.proyecto.pk) + '/' +
             tarea.actividad.proyecto.tag_url + '/">' +
             tarea.actividad.proyecto.nombre_proyecto + '</a>')
     return super(UploadFileView, self).form_valid(form)
Пример #2
0
def delete_user_activity(request, pk, tag_url, pk_activity, pk_role):
    response = {}
    actividad_role = Actividad_role.objects.get(pk=pk_role)
    register_activity_profile_user(
        request.user, 'Usuario ' + actividad_role.role.user.email +
        ' eliminado de la actividad ' +
        actividad_role.actividad.nombre_actividad + ' del proyecto ' +
        actividad_role.actividad.proyecto.nombre_proyecto)
    register_activity_project(
        request.user, actividad_role.actividad.proyecto, 'Usuario ' +
        actividad_role.role.user.email + ' eliminado de la actividad ' +
        actividad_role.actividad.nombre_actividad + ' del proyecto ' +
        actividad_role.actividad.proyecto.nombre_proyecto)
    register_notification(
        actividad_role.role.user, 'fa-briefcase',
        'Has sido eliminado de la actividad <a href="/project/' +
        str(actividad_role.actividad.proyecto.pk) + '/' +
        actividad_role.actividad.proyecto.tag_url + '/activities/' +
        str(actividad_role.actividad.pk) + '/detail-activity/">' +
        actividad_role.actividad.nombre_actividad +
        '</a> en el proyecto <a href="/project/' +
        str(actividad_role.actividad.proyecto.pk) + '/' +
        actividad_role.actividad.proyecto.tag_url + '/">' +
        actividad_role.actividad.proyecto.nombre_proyecto + '</a>')
    actividad_role.delete()
    response['type'] = 'success'
    response['msg'] = 'Exito al eliminar el usuario de la actividad'
    return HttpResponse(json.dumps(response), "application/json")
Пример #3
0
def delete_task(request, pk, tag_url, pk_activity, pk_task):
    response = {}
    tarea = Tarea.objects.get(pk=pk_task)
    register_activity_profile_user(
        request.user, 'Tarea ' + tarea.nombre_tarea +
        ' eliminada de la actividad ' + tarea.actividad.nombre_actividad +
        ' del proyecto ' + tarea.actividad.proyecto.nombre_proyecto)
    register_activity_project(
        request.user, tarea.actividad.proyecto, 'Tarea ' + tarea.nombre_tarea +
        ' eliminada de la actividad ' + tarea.actividad.nombre_actividad +
        ' del proyecto ' + tarea.actividad.proyecto.nombre_proyecto)
    for users in tarea.actividad.actividad_role_set.all():
        register_notification(
            users.role.user, 'fa-tasks',
            'La tarea <a href="/project/' + str(tarea.actividad.proyecto.pk) +
            '/' + tarea.actividad.proyecto.tag_url + '/activities/' +
            str(tarea.actividad.pk) + '/task/' + str(tarea.pk) +
            '/detail-task/">' + tarea.nombre_tarea +
            '</a> ha sido eliminada dentro de la actividad <a href="/project/'
            + str(tarea.actividad.proyecto.pk) + '/' +
            tarea.actividad.proyecto.tag_url + '/activities/' +
            str(tarea.actividad.pk) + '/detail-activity/">' +
            tarea.actividad.nombre_actividad +
            '</a> del proyecto <a href="/project/' +
            str(tarea.actividad.proyecto.pk) + '/' +
            tarea.actividad.proyecto.tag_url + '/">' +
            tarea.actividad.proyecto.nombre_proyecto + '</a>')
    tarea.delete()
    response['type'] = 'success'
    response['msg'] = 'Exito al eliminar la tarea'
    return HttpResponse(json.dumps(response), "application/json")
Пример #4
0
def delete_comment(request, pk, tag_url, pk_activity, pk_task, pk_comment):
    response = {}
    comment = Comentario_tarea.objects.get(pk=pk_comment)
    register_activity_profile_user(
        request.user,
        'Comentario eliminado de la tarea ' + comment.tarea.nombre_tarea +
        ' de la actividad ' + comment.tarea.actividad.nombre_actividad +
        ' del proyecto ' + comment.tarea.actividad.proyecto.nombre_proyecto)
    register_activity_project(
        request.user, comment.tarea.actividad.proyecto,
        'Comentario eliminado de la tarea ' + comment.tarea.nombre_tarea +
        ' de la actividad ' + comment.tarea.actividad.nombre_actividad +
        ' del proyecto ' + comment.tarea.actividad.proyecto.nombre_proyecto)
    register_notification(
        comment.usuario, 'fa-comments',
        'Tu comentario ha sido eliminado en la tarea <a href="/project/' +
        str(comment.tarea.actividad.proyecto.pk) + '/' +
        comment.tarea.actividad.proyecto.tag_url + '/activities/' +
        str(comment.tarea.actividad.pk) + '/task/' + str(comment.tarea.pk) +
        '/detail-task/">' + comment.tarea.nombre_tarea +
        '</a> de la actividad <a href="/project/' +
        str(comment.tarea.actividad.proyecto.pk) + '/' +
        comment.tarea.actividad.proyecto.tag_url + '/activities/' +
        str(comment.tarea.actividad.pk) + '/detail-activity/">' +
        comment.tarea.actividad.nombre_actividad +
        '</a> del proyecto <a href="/project/' +
        str(comment.tarea.actividad.proyecto.pk) + '/' +
        comment.tarea.actividad.proyecto.tag_url + '/">' +
        comment.tarea.actividad.proyecto.nombre_proyecto + '</a>')
    comment.delete()
    response['type'] = 'success'
    response['msg'] = 'Exito al eliminar el comentario'
    return HttpResponse(json.dumps(response), "application/json")
Пример #5
0
 def form_valid(self, form):
     form.instance.actividad = Actividad.objects.get(
         pk=self.kwargs['pk_activity'])
     form_data = form.save()
     register_activity_profile_user(
         self.request.user, 'Usuario ' + form_data.role.user.email +
         ' agregado a la actividad ' +
         form_data.actividad.nombre_actividad + ' del proyecto ' +
         form_data.actividad.proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, form_data.actividad.proyecto, 'Usuario ' +
         form_data.role.user.email + ' agregado a la actividad ' +
         form_data.actividad.nombre_actividad + ' del proyecto ' +
         form_data.actividad.proyecto.nombre_proyecto)
     register_notification(
         form_data.role.user, 'fa-briefcase',
         'Te han agregado a la actividad <a href="/project/' +
         str(form_data.actividad.proyecto.pk) + '/' +
         form_data.actividad.proyecto.tag_url + '/activities/' +
         str(form_data.actividad.pk) + '/detail-activity/">' +
         form_data.actividad.nombre_actividad +
         '</a> del proyecto <a href="/project/' +
         str(form_data.actividad.proyecto.pk) + '/' +
         form_data.actividad.proyecto.tag_url + '/">' +
         form_data.actividad.proyecto.nombre_proyecto + '</a>')
     return super(UserRoleActivitieView, self).form_valid(form)
Пример #6
0
 def form_valid(self, form):
     actividad = Actividad.objects.get(pk=self.kwargs['pk_activity'])
     form.instance.actividad = actividad
     form.instance.estado = Tipo_estado.objects.get(nombre_estado='Proceso')
     form.instance.usuario = self.request.user
     form_data = form.save()
     register_activity_profile_user(
         self.request.user, 'Tarea ' + form_data.nombre_tarea +
         ' creada en la actividad ' + actividad.nombre_actividad +
         ' del proyecto ' + actividad.proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, actividad.proyecto,
         'Tarea ' + form_data.nombre_tarea + ' creada en la actividad ' +
         actividad.nombre_actividad + ' del proyecto ' +
         actividad.proyecto.nombre_proyecto)
     for users in actividad.actividad_role_set.all():
         register_notification(
             users.role.user, 'fa-tasks',
             'La tarea <a href="/project/' + str(actividad.proyecto.pk) +
             '/' + actividad.proyecto.tag_url + '/activities/' +
             str(actividad.pk) + '/task/' + str(form_data.pk) +
             '/detail-task/">' + form_data.nombre_tarea +
             '</a> ha sido creada dentro de la actividad <a href="/project/'
             + str(actividad.proyecto.pk) + '/' +
             actividad.proyecto.tag_url + '/activities/' +
             str(actividad.pk) + '/detail-activity/">' +
             actividad.nombre_actividad +
             '</a> del proyecto <a href="/project/' +
             str(actividad.proyecto.pk) + '/' + actividad.proyecto.tag_url +
             '/">' + actividad.proyecto.nombre_proyecto + '</a>')
     return super(NewTaskActivityView, self).form_valid(form)
Пример #7
0
 def form_valid(self, form):
     estado = Tipo_estado.objects.all()
     proyecto = Proyecto.objects.get(pk=self.kwargs['pk'])
     form.instance.proyecto = proyecto
     form.instance.estado = estado.get(
         nombre_estado='Activo'
     ) if form.cleaned_data['fecha_entrega'] >= datetime.datetime.now(
     ).date() else estado.get(nombre_estado='Terminado')
     form_data = form.save()
     register_activity_profile_user(
         self.request.user, 'Actividad ' + form_data.nombre_actividad +
         ' actualizada en el proyecto ' + proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, proyecto,
         'Actividad ' + form_data.nombre_actividad +
         ' actualizada en el proyecto ' + proyecto.nombre_proyecto)
     for users in proyecto.roles_project_set.all():
         register_notification(
             users.user, 'fa-briefcase',
             'La actividad <a href="/project/' + str(proyecto.pk) + '/' +
             proyecto.tag_url + '/activities/' + str(form_data.pk) +
             '/detail-activity/">' + form_data.nombre_actividad +
             '</a> ha sido actualizada en el proyecto <a href="/project/' +
             str(proyecto.pk) + '/' + proyecto.tag_url + '/">' +
             proyecto.nombre_proyecto + '</a>')
     return super(UpdateActivitieView, self).form_valid(form)
Пример #8
0
 def form_valid(self, form):
     estado = Tipo_estado.objects.all()
     actividad = Actividad.objects.get(pk=self.kwargs['pk_activity'])
     form.instance.actividad = actividad
     form.instance.estado = estado.get(
         nombre_estado='Proceso'
     ) if form.cleaned_data['fecha_entrega'] >= datetime.datetime.now(
     ).date() else estado.get(nombre_estado='Terminado')
     form_data = form.save()
     register_activity_profile_user(
         self.request.user, 'Tarea ' + form_data.nombre_tarea +
         ' actualizada en la actividad ' + actividad.nombre_actividad +
         ' del proyecto ' + actividad.proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, actividad.proyecto,
         'Tarea ' + form_data.nombre_tarea +
         ' actualizada en la actividad ' + actividad.nombre_actividad +
         ' del proyecto ' + actividad.proyecto.nombre_proyecto)
     for users in actividad.actividad_role_set.all():
         register_notification(
             users.role.user, 'fa-tasks',
             'La tarea <a href="/project/' + str(actividad.proyecto.pk) +
             '/' + actividad.proyecto.tag_url + '/activities/' +
             str(actividad.pk) + '/task/' + str(form_data.pk) +
             '/detail-task/">' + form_data.nombre_tarea +
             '</a> ha sido editada dentro de la actividad <a href="/project/'
             + str(actividad.proyecto.pk) + '/' +
             actividad.proyecto.tag_url + '/activities/' +
             str(actividad.pk) + '/detail-activity/">' +
             actividad.nombre_actividad +
             '</a> del proyecto <a href="/project/' +
             str(actividad.proyecto.pk) + '/' + actividad.proyecto.tag_url +
             '/">' + actividad.proyecto.nombre_proyecto + '</a>')
     return super(UpdateTaskActivityView, self).form_valid(form)
Пример #9
0
	def form_valid(self, form):
		form.instance.actividad = Actividad.objects.get(pk = self.kwargs['pk_activity'])
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Usuario '+form_data.role.user.email+' agregado a la actividad '+form_data.actividad.nombre_actividad+' del proyecto '+form_data.actividad.proyecto.nombre_proyecto)
		register_activity_project(self.request.user, form_data.actividad.proyecto, 'Usuario '+form_data.role.user.email+' agregado a la actividad '+form_data.actividad.nombre_actividad+' del proyecto '+form_data.actividad.proyecto.nombre_proyecto)
		register_notification(form_data.role.user, 'fa-briefcase', 'Te han agregado a la actividad <a href="/project/'+str(form_data.actividad.proyecto.pk)+'/'+form_data.actividad.proyecto.tag_url+'/activities/'+str(form_data.actividad.pk)+'/detail-activity/">'+form_data.actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(form_data.actividad.proyecto.pk)+'/'+form_data.actividad.proyecto.tag_url+'/">'+form_data.actividad.proyecto.nombre_proyecto+'</a>')
		return super(UserRoleActivitieView, self).form_valid(form)
Пример #10
0
 def post(self, request, *args, **kwargs):
     form = self.form_class(request.POST)
     if form.is_valid():
         user_email = form.cleaned_data["user_email"]
         try:
             user = User.objects.get(email=user_email)
             app_send_email(user, request.META['HTTP_HOST'],
                            'Cambio de Contraseña',
                            'email/password_reset_subject.html', '')
             register_activity_profile_user(
                 user, 'Solicitud cambio de contraseña')
             register_notification(request.META['HTTP_HOST'], user,
                                   'fa fa-unlock',
                                   'Solicitud Cambio de contraseña')
             result = self.form_valid(form)
             messages.success(
                 request, 'Un correo ha sido enviado ha ' + user_email +
                 ". Por favor verifica tu correo y sigue las instrucciones."
             )
         except User.DoesNotExist:
             result = self.form_invalid(form)
             messages.warning(
                 request,
                 'No hay una cuenta asociada con el correo electronico digitado.'
             )
     return result
Пример #11
0
	def form_valid(self, form):
		form.instance.user = self.request.user
		data_object = form.save()
		register_activity_profile_user(self.request.user, 'Proyecto '+data_object.nombre_proyecto+' editado.')
		register_activity_project(self.request.user, data_object, 'Proyecto '+data_object.nombre_proyecto+' editado. Code: '+str(data_object.pk))
		for users in data_object.roles_project_set.all():
			register_notification(users.user, 'fa-folder', 'El proyecto <a href="/project/'+str(data_object.pk)+'/'+data_object.tag_url+'/">'+data_object.nombre_proyecto+'</a> ha sido editado por '+self.request.user.email)
		return super(UpdateProjectView, self).form_valid(form)
Пример #12
0
def verify_state_project():
	terminate = Tipo_estado.objects.get(nombre_estado = 'Terminado')
	for proyecto in Proyecto.objects.all():
		if proyecto.fecha_final < datetime.datetime.now().date():
			proyecto.estado = terminate
			proyecto.save()
			for users in proyecto.roles_project_set.all():
				register_notification(users.user, 'fa-folder', 'El proyecto '+proyecto.nombre_proyecto+' ha sido finalizado automaticamente')
Пример #13
0
	def form_valid(self, form):
		tarea = Tarea.objects.get(pk = self.kwargs['pk_task'])
		form.instance.tarea = tarea
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Archivo subido de la tarea '+tarea.nombre_tarea+' de la actividad '+tarea.actividad.nombre_actividad+' en el proyecto '+tarea.actividad.proyecto.nombre_proyecto)
		register_activity_project(self.request.user, tarea.actividad.proyecto, 'Archivo subido de la tarea '+tarea.nombre_tarea+' de la actividad '+tarea.actividad.nombre_actividad+' en el proyecto '+tarea.actividad.proyecto.nombre_proyecto)
		for users in tarea.actividad.actividad_role_set.all():
			register_notification(users.role.user, 'fa-file', 'Hay un nuevo archivo subido en la tarea <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/activities/'+str(tarea.actividad.pk)+'/task/'+str(tarea.pk)+'/detail-task/">'+tarea.nombre_tarea+'</a> de la actividad <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/activities/'+str(tarea.actividad.pk)+'/detail-activity/">'+tarea.actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/">'+tarea.actividad.proyecto.nombre_proyecto+'</a>')
		return super(UploadFileView, self).form_valid(form)
Пример #14
0
def delete_project(request, pk, tag_url):
	response = {}
	proyecto = Proyecto.objects.get(pk = pk)
	register_activity_profile_user(request.user, 'Proyecto '+proyecto.nombre_proyecto+' eliminado')
	for users in proyecto.roles_project_set.all():
		register_notification(users.user, 'fa-folder', 'El proyecto '+proyecto.nombre_proyecto+' ha sido eliminado por '+request.user.email)
	proyecto.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar el proyecto'
	return HttpResponse(json.dumps(response), "application/json")
Пример #15
0
	def form_valid(self, form):
		proyecto = Proyecto.objects.get(pk = self.kwargs['pk'])
		form.instance.proyecto = proyecto
		form.instance.estado = Tipo_estado.objects.get(nombre_estado = 'Activo')
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Actividad '+form_data.nombre_actividad+' creada en el proyecto '+proyecto.nombre_proyecto)
		register_activity_project(self.request.user, proyecto, 'Actividad '+form_data.nombre_actividad+' creada en el proyecto '+proyecto.nombre_proyecto)
		for users in proyecto.roles_project_set.all():
			register_notification(users.user, 'fa-briefcase', 'La actividad <a href="/project/'+str(proyecto.pk)+'/'+proyecto.tag_url+'/activities/'+str(form_data.pk)+'/detail-activity/">'+form_data.nombre_actividad+'</a> ha sido creada en el proyecto <a href="/project/'+str(proyecto.pk)+'/'+proyecto.tag_url+'/">'+proyecto.nombre_proyecto+'</a>')
		return super(NewActivitieView, self).form_valid(form)
Пример #16
0
def delete_user_activity(request, pk, tag_url, pk_activity, pk_role):
	response = {}
	actividad_role = Actividad_role.objects.get(pk = pk_role)
	register_activity_profile_user(request.user, 'Usuario '+actividad_role.role.user.email+' eliminado de la actividad '+actividad_role.actividad.nombre_actividad+' del proyecto '+actividad_role.actividad.proyecto.nombre_proyecto)
	register_activity_project(request.user, actividad_role.actividad.proyecto, 'Usuario '+actividad_role.role.user.email+' eliminado de la actividad '+actividad_role.actividad.nombre_actividad+' del proyecto '+actividad_role.actividad.proyecto.nombre_proyecto)
	register_notification(actividad_role.role.user, 'fa-briefcase', 'Has sido eliminado de la actividad <a href="/project/'+str(actividad_role.actividad.proyecto.pk)+'/'+actividad_role.actividad.proyecto.tag_url+'/activities/'+str(actividad_role.actividad.pk)+'/detail-activity/">'+actividad_role.actividad.nombre_actividad+'</a> en el proyecto <a href="/project/'+str(actividad_role.actividad.proyecto.pk)+'/'+actividad_role.actividad.proyecto.tag_url+'/">'+actividad_role.actividad.proyecto.nombre_proyecto+'</a>')
	actividad_role.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar el usuario de la actividad'
	return HttpResponse(json.dumps(response), "application/json")
Пример #17
0
	def form_valid(self, form):
		form.instance.user = self.request.user
		data_object = form.save()
		role = Tipo_role.objects.get(nombre_role = "Administrador")
		project_role = Roles_project(user = self.request.user, proyecto = data_object, role = role)
		project_role.save()
		register_activity_profile_user(self.request.user, 'Proyecto '+data_object.nombre_proyecto+' creado')
		register_activity_project(self.request.user, data_object, 'Proyecto '+data_object.nombre_proyecto+' creado')
		register_notification(self.request.user, 'fa-folder', 'El proyecto <a href="/project/'+str(data_object.pk)+'/'+data_object.tag_url+'/">'+data_object.nombre_proyecto+'</a> ha sido creado con exito.')
		return super(NewProjectView, self).form_valid(form)
Пример #18
0
def delete_comment(request, pk, tag_url, pk_activity, pk_task, pk_comment):
	response = {}
	comment = Comentario_tarea.objects.get(pk = pk_comment)
	register_activity_profile_user(request.user, 'Comentario eliminado de la tarea '+comment.tarea.nombre_tarea+' de la actividad '+comment.tarea.actividad.nombre_actividad+' del proyecto '+comment.tarea.actividad.proyecto.nombre_proyecto)
	register_activity_project(request.user, comment.tarea.actividad.proyecto, 'Comentario eliminado de la tarea '+comment.tarea.nombre_tarea+' de la actividad '+comment.tarea.actividad.nombre_actividad+' del proyecto '+comment.tarea.actividad.proyecto.nombre_proyecto)
	register_notification(comment.usuario, 'fa-comments', 'Tu comentario ha sido eliminado en la tarea <a href="/project/'+str(comment.tarea.actividad.proyecto.pk)+'/'+comment.tarea.actividad.proyecto.tag_url+'/activities/'+str(comment.tarea.actividad.pk)+'/task/'+str(comment.tarea.pk)+'/detail-task/">'+comment.tarea.nombre_tarea+'</a> de la actividad <a href="/project/'+str(comment.tarea.actividad.proyecto.pk)+'/'+comment.tarea.actividad.proyecto.tag_url+'/activities/'+str(comment.tarea.actividad.pk)+'/detail-activity/">'+comment.tarea.actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(comment.tarea.actividad.proyecto.pk)+'/'+comment.tarea.actividad.proyecto.tag_url+'/">'+comment.tarea.actividad.proyecto.nombre_proyecto+'</a>')
	comment.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar el comentario'
	return HttpResponse(json.dumps(response), "application/json")
Пример #19
0
def delete_activities(request, pk, tag_url, pk_activity):
	response = {}
	actividad = Actividad.objects.get(pk = pk_activity)
	register_activity_profile_user(request.user, 'Actividad '+actividad.nombre_actividad+' eliminada del proyecto '+actividad.proyecto.nombre_proyecto)
	register_activity_project(request.user, actividad.proyecto, 'Actividad '+actividad.nombre_actividad+' eliminada del proyecto '+actividad.proyecto.nombre_proyecto)
	for users in actividad.proyecto.roles_project_set.all():
		register_notification(users.user, 'fa-briefcase', 'La actividad '+actividad.nombre_actividad+' ha sido elimidada del proyecto <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/">'+actividad.proyecto.nombre_proyecto+'</a>')
	actividad.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar la actividad'
	return HttpResponse(json.dumps(response), "application/json")
Пример #20
0
	def form_valid(self, form):
		estado = Tipo_estado.objects.all()
		proyecto = Proyecto.objects.get(pk = self.kwargs['pk'])
		form.instance.proyecto = proyecto
		form.instance.estado = estado.get(nombre_estado = 'Activo') if form.cleaned_data['fecha_entrega'] >= datetime.datetime.now().date() else estado.get(nombre_estado = 'Terminado')
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Actividad '+form_data.nombre_actividad+' actualizada en el proyecto '+proyecto.nombre_proyecto)
		register_activity_project(self.request.user, proyecto, 'Actividad '+form_data.nombre_actividad+' actualizada en el proyecto '+proyecto.nombre_proyecto)
		for users in proyecto.roles_project_set.all():
			register_notification(users.user, 'fa-briefcase', 'La actividad <a href="/project/'+str(proyecto.pk)+'/'+proyecto.tag_url+'/activities/'+str(form_data.pk)+'/detail-activity/">'+form_data.nombre_actividad+'</a> ha sido actualizada en el proyecto <a href="/project/'+str(proyecto.pk)+'/'+proyecto.tag_url+'/">'+proyecto.nombre_proyecto+'</a>')
		return super(UpdateActivitieView, self).form_valid(form)
Пример #21
0
	def form_valid(self, form):
		estado = Tipo_estado.objects.all()
		actividad = Actividad.objects.get(pk = self.kwargs['pk_activity'])
		form.instance.actividad = actividad
		form.instance.estado = estado.get(nombre_estado = 'Proceso') if form.cleaned_data['fecha_entrega'] >= datetime.datetime.now().date() else estado.get(nombre_estado = 'Terminado')
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Tarea '+form_data.nombre_tarea+' actualizada en la actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto)
		register_activity_project(self.request.user, actividad.proyecto, 'Tarea '+form_data.nombre_tarea+' actualizada en la actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto)
		for users in actividad.actividad_role_set.all():
			register_notification(users.role.user, 'fa-tasks', 'La tarea <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/activities/'+str(actividad.pk)+'/task/'+str(form_data.pk)+'/detail-task/">'+form_data.nombre_tarea+'</a> ha sido editada dentro de la actividad <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/activities/'+str(actividad.pk)+'/detail-activity/">'+actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/">'+actividad.proyecto.nombre_proyecto+'</a>')
		return super(UpdateTaskActivityView, self).form_valid(form)
Пример #22
0
	def form_valid(self, form):
		actividad = Actividad.objects.get(pk = self.kwargs['pk_activity'])
		form.instance.actividad = actividad
		form.instance.estado = Tipo_estado.objects.get(nombre_estado = 'Proceso')
		form.instance.usuario = self.request.user
		form_data = form.save()
		register_activity_profile_user(self.request.user, 'Tarea '+form_data.nombre_tarea+' creada en la actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto)
		register_activity_project(self.request.user, actividad.proyecto, 'Tarea '+form_data.nombre_tarea+' creada en la actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto)
		for users in actividad.actividad_role_set.all():
			register_notification(users.role.user, 'fa-tasks', 'La tarea <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/activities/'+str(actividad.pk)+'/task/'+str(form_data.pk)+'/detail-task/">'+form_data.nombre_tarea+'</a> ha sido creada dentro de la actividad <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/activities/'+str(actividad.pk)+'/detail-activity/">'+actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/">'+actividad.proyecto.nombre_proyecto+'</a>')
		return super(NewTaskActivityView, self).form_valid(form)
Пример #23
0
def delete_document(request, pk, tag_url, pk_activity, pk_task, pk_document):
	response = {}
	documento = Documento.objects.get(pk = pk_document)
	register_activity_profile_user(request.user, 'Archivo eliminado de la tarea '+documento.tarea.nombre_tarea+' de la actividad '+documento.tarea.actividad.nombre_actividad+' en el proyecto '+documento.tarea.actividad.proyecto.nombre_proyecto)
	register_activity_project(request.user, documento.tarea.actividad.proyecto, 'Archivo eliminado de la tarea '+documento.tarea.nombre_tarea+' de la actividad '+documento.tarea.actividad.nombre_actividad+' en el proyecto '+documento.tarea.actividad.proyecto.nombre_proyecto)
	for users in documento.tarea.actividad.actividad_role_set.all():
		register_notification(users.role.user, 'fa-file', 'El archivo '+documento.nombre_documento+' ha sido eliminado de la tarea <a href="/project/'+str(documento.tarea.actividad.proyecto.pk)+'/'+documento.tarea.actividad.proyecto.tag_url+'/activities/'+str(documento.tarea.actividad.pk)+'/task/'+str(documento.tarea.pk)+'/detail-task/">'+documento.tarea.nombre_tarea+'</a> de la actividad <a href="/project/'+str(documento.tarea.actividad.proyecto.pk)+'/'+documento.tarea.actividad.proyecto.tag_url+'/activities/'+str(documento.tarea.actividad.pk)+'/detail-activity/">'+documento.tarea.actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(documento.tarea.actividad.proyecto.pk)+'/'+documento.tarea.actividad.proyecto.tag_url+'/">'+documento.tarea.actividad.proyecto.nombre_proyecto+'</a>')
	documento.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar el documento'
	return HttpResponse(json.dumps(response), "application/json")
Пример #24
0
def delete_task(request, pk, tag_url, pk_activity, pk_task):
	response = {}
	tarea = Tarea.objects.get(pk = pk_task)
	register_activity_profile_user(request.user, 'Tarea '+tarea.nombre_tarea+' eliminada de la actividad '+tarea.actividad.nombre_actividad+' del proyecto '+tarea.actividad.proyecto.nombre_proyecto)
	register_activity_project(request.user, tarea.actividad.proyecto, 'Tarea '+tarea.nombre_tarea+' eliminada de la actividad '+tarea.actividad.nombre_actividad+' del proyecto '+tarea.actividad.proyecto.nombre_proyecto)
	for users in tarea.actividad.actividad_role_set.all():
		register_notification(users.role.user, 'fa-tasks', 'La tarea <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/activities/'+str(tarea.actividad.pk)+'/task/'+str(tarea.pk)+'/detail-task/">'+tarea.nombre_tarea+'</a> ha sido eliminada dentro de la actividad <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/activities/'+str(tarea.actividad.pk)+'/detail-activity/">'+tarea.actividad.nombre_actividad+'</a> del proyecto <a href="/project/'+str(tarea.actividad.proyecto.pk)+'/'+tarea.actividad.proyecto.tag_url+'/">'+tarea.actividad.proyecto.nombre_proyecto+'</a>')
	tarea.delete()
	response['type'] = 'success'
	response['msg'] = 'Exito al eliminar la tarea'
	return HttpResponse(json.dumps(response), "application/json")
Пример #25
0
	def post(self, request, *args, **kwargs):
		form = self.form_class(request.POST)
		if form.is_valid():
			user_email = form.cleaned_data["user_email"]
			try:
				user = User.objects.get(email = user_email)
				app_send_email(user, request.META['HTTP_HOST'], 'Cambio de Contraseña', 'email/password_reset_subject.html', '')
				register_activity_profile_user(user, 'Solicitud cambio de contraseña')
				register_notification(request.META['HTTP_HOST'], user, 'fa fa-unlock', 'Solicitud Cambio de contraseña')
				result = self.form_valid(form)
				messages.success(request, 'Un correo ha sido enviado ha ' +user_email+". Por favor verifica tu correo y sigue las instrucciones.")
			except User.DoesNotExist:
				result = self.form_invalid(form)
				messages.warning(request, 'No hay una cuenta asociada con el correo electronico digitado.')
		return result
Пример #26
0
def delete_role_role_from_project(request, pk, tag_url, user):
	response = {}
	verify = verify_user_project_administrator(pk, request.user.pk)
	if verify is True:
		role_project = Roles_project.objects.get(user = user, proyecto = pk)
		register_activity_profile_user(request.user, 'Usuario '+role_project.user.email+' eliminado del proyecto '+role_project.proyecto.nombre_proyecto)
		register_activity_project(request.user, role_project.proyecto, 'Usuario '+role_project.user.email+' eliminado del proyecto '+role_project.proyecto.nombre_proyecto)
		register_notification(request.META['HTTP_HOST'], role_project.user, 'fa-users', 'El administrador '+request.user.email+' te ha eliminado al proyecto <a href="/project/'+str(role_project.proyecto.pk)+'/'+role_project.proyecto.tag_url+'/">'+role_project.proyecto.nombre_proyecto+'</a>')
		role_project.delete()
		response['type'] = 'success'
		response['msg'] = 'Exito al eliminar el usuario'
	else:
		response['type'] = 'error'
		response['msg'] = 'Ha ocurrido un error'
	return HttpResponse(json.dumps(response), "application/json")
Пример #27
0
def add_user_project(request, pk, tag_url):
	project = Proyecto.objects.get(pk = pk, tag_url = tag_url)
	if request.method == 'POST':
		response = {}
		form = AddUserProjectForm(request.POST, instance = project)
		if form.is_valid():
			project_data = form.save(commit = False)
			project_data.proyecto = project
			project_data.save()
			app_send_email(project_data.user, request.META['HTTP_HOST'], 'Proyecto '+project.nombre_proyecto, 'email/project_add_user.html', project)
			register_activity_profile_user(request.user, 'Usuario '+project_data.user.email+' agregado al proyecto '+project.nombre_proyecto)
			register_activity_project(request.user, project, 'Usuario '+project_data.user.email+' agregado al proyecto '+project.nombre_proyecto)
			register_notification(request.META['HTTP_HOST'], project_data.user, 'fa-users', 'El administrador '+request.user.email+' te ha agregado al proyecto <a href="/project/'+str(project.pk)+'/'+project.tag_url+'/">'+project.nombre_proyecto+'</a>')
		return HttpResponseRedirect(reverse('list_role', kwargs={'pk': project.pk, 'tag_url': project.tag_url}))
	else:
		form = AddUserProjectForm(instance = project)
	return render(request, var_dir_template+'form_add_user_project.html', {'forms': form, 'project': project, 'title': 'Agregar usuarios al proyecto'})
Пример #28
0
def change_state_activity(request, pk, tag_url, pk_activity, state):
	response = {}
	if verify_user_project_administrator(pk, request.user):
		inactive = Tipo_estado.objects.get(nombre_estado = 'Terminado')
		actividad = Actividad.objects.get(pk = pk_activity)
		if actividad.estado.nombre_estado == 'Terminado':
			return HttpResponseRedirect(reverse_lazy('my_list_project'))
		else:
			actividad.estado = inactive
			actividad.save()
			response['type'] = 'success'
			response['msg'] = 'Exito al finalizar la actividad'
			register_activity_profile_user(request.user, 'Actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto+' ha sido finalizado')
			register_activity_project(request.user, actividad.proyecto, 'Actividad '+actividad.nombre_actividad+' del proyecto '+actividad.proyecto.nombre_proyecto+' has sido finalizado')
			for users in actividad.proyecto.roles_project_set.all():
				register_notification(users.user, 'fa-briefcase', 'La actividad <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/activities/'+str(actividad.pk)+'/detail-activity/">'+actividad.nombre_actividad+'</a> ha sido finalizada del proyecto <a href="/project/'+str(actividad.proyecto.pk)+'/'+actividad.proyecto.tag_url+'/">'+actividad.proyecto.nombre_proyecto+'</a>')
	else:
		response['type'] = 'error'
		response['msg'] = 'Ha ocurrido un error'
	return HttpResponse(json.dumps(response), "application/json")
Пример #29
0
def delete_activities(request, pk, tag_url, pk_activity):
    response = {}
    actividad = Actividad.objects.get(pk=pk_activity)
    register_activity_profile_user(
        request.user, 'Actividad ' + actividad.nombre_actividad +
        ' eliminada del proyecto ' + actividad.proyecto.nombre_proyecto)
    register_activity_project(
        request.user, actividad.proyecto,
        'Actividad ' + actividad.nombre_actividad +
        ' eliminada del proyecto ' + actividad.proyecto.nombre_proyecto)
    for users in actividad.proyecto.roles_project_set.all():
        register_notification(
            users.user, 'fa-briefcase',
            'La actividad ' + actividad.nombre_actividad +
            ' ha sido elimidada del proyecto <a href="/project/' +
            str(actividad.proyecto.pk) + '/' + actividad.proyecto.tag_url +
            '/">' + actividad.proyecto.nombre_proyecto + '</a>')
    actividad.delete()
    response['type'] = 'success'
    response['msg'] = 'Exito al eliminar la actividad'
    return HttpResponse(json.dumps(response), "application/json")
Пример #30
0
 def form_valid(self, form):
     proyecto = Proyecto.objects.get(pk=self.kwargs['pk'])
     form.instance.proyecto = proyecto
     form.instance.estado = Tipo_estado.objects.get(nombre_estado='Activo')
     form_data = form.save()
     register_activity_profile_user(
         self.request.user, 'Actividad ' + form_data.nombre_actividad +
         ' creada en el proyecto ' + proyecto.nombre_proyecto)
     register_activity_project(
         self.request.user, proyecto,
         'Actividad ' + form_data.nombre_actividad +
         ' creada en el proyecto ' + proyecto.nombre_proyecto)
     for users in proyecto.roles_project_set.all():
         register_notification(
             users.user, 'fa-briefcase',
             'La actividad <a href="/project/' + str(proyecto.pk) + '/' +
             proyecto.tag_url + '/activities/' + str(form_data.pk) +
             '/detail-activity/">' + form_data.nombre_actividad +
             '</a> ha sido creada en el proyecto <a href="/project/' +
             str(proyecto.pk) + '/' + proyecto.tag_url + '/">' +
             proyecto.nombre_proyecto + '</a>')
     return super(NewActivitieView, self).form_valid(form)
Пример #31
0
def delete_document(request, pk, tag_url, pk_activity, pk_task, pk_document):
    response = {}
    documento = Documento.objects.get(pk=pk_document)
    register_activity_profile_user(
        request.user, 'Archivo eliminado de la tarea ' +
        documento.tarea.nombre_tarea + ' de la actividad ' +
        documento.tarea.actividad.nombre_actividad + ' en el proyecto ' +
        documento.tarea.actividad.proyecto.nombre_proyecto)
    register_activity_project(
        request.user, documento.tarea.actividad.proyecto,
        'Archivo eliminado de la tarea ' + documento.tarea.nombre_tarea +
        ' de la actividad ' + documento.tarea.actividad.nombre_actividad +
        ' en el proyecto ' +
        documento.tarea.actividad.proyecto.nombre_proyecto)
    for users in documento.tarea.actividad.actividad_role_set.all():
        register_notification(
            users.role.user, 'fa-file',
            'El archivo ' + documento.nombre_documento +
            ' ha sido eliminado de la tarea <a href="/project/' +
            str(documento.tarea.actividad.proyecto.pk) + '/' +
            documento.tarea.actividad.proyecto.tag_url + '/activities/' +
            str(documento.tarea.actividad.pk) + '/task/' +
            str(documento.tarea.pk) + '/detail-task/">' +
            documento.tarea.nombre_tarea +
            '</a> de la actividad <a href="/project/' +
            str(documento.tarea.actividad.proyecto.pk) + '/' +
            documento.tarea.actividad.proyecto.tag_url + '/activities/' +
            str(documento.tarea.actividad.pk) + '/detail-activity/">' +
            documento.tarea.actividad.nombre_actividad +
            '</a> del proyecto <a href="/project/' +
            str(documento.tarea.actividad.proyecto.pk) + '/' +
            documento.tarea.actividad.proyecto.tag_url + '/">' +
            documento.tarea.actividad.proyecto.nombre_proyecto + '</a>')
    documento.delete()
    response['type'] = 'success'
    response['msg'] = 'Exito al eliminar el documento'
    return HttpResponse(json.dumps(response), "application/json")
Пример #32
0
def change_state_activity(request, pk, tag_url, pk_activity, state):
    response = {}
    if verify_user_project_administrator(pk, request.user):
        inactive = Tipo_estado.objects.get(nombre_estado='Terminado')
        actividad = Actividad.objects.get(pk=pk_activity)
        if actividad.estado.nombre_estado == 'Terminado':
            return HttpResponseRedirect(reverse_lazy('my_list_project'))
        else:
            actividad.estado = inactive
            actividad.save()
            response['type'] = 'success'
            response['msg'] = 'Exito al finalizar la actividad'
            register_activity_profile_user(
                request.user,
                'Actividad ' + actividad.nombre_actividad + ' del proyecto ' +
                actividad.proyecto.nombre_proyecto + ' ha sido finalizado')
            register_activity_project(
                request.user, actividad.proyecto,
                'Actividad ' + actividad.nombre_actividad + ' del proyecto ' +
                actividad.proyecto.nombre_proyecto + ' has sido finalizado')
            for users in actividad.proyecto.roles_project_set.all():
                register_notification(
                    users.user, 'fa-briefcase',
                    'La actividad <a href="/project/' +
                    str(actividad.proyecto.pk) + '/' +
                    actividad.proyecto.tag_url + '/activities/' +
                    str(actividad.pk) + '/detail-activity/">' +
                    actividad.nombre_actividad +
                    '</a> ha sido finalizada del proyecto <a href="/project/' +
                    str(actividad.proyecto.pk) + '/' +
                    actividad.proyecto.tag_url + '/">' +
                    actividad.proyecto.nombre_proyecto + '</a>')
    else:
        response['type'] = 'error'
        response['msg'] = 'Ha ocurrido un error'
    return HttpResponse(json.dumps(response), "application/json")