mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 01:12:08 +01:00 
			
		
		
		
	Member templates inherit from member/base.html
This commit is contained in:
		@@ -4,10 +4,6 @@
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load pretty_money %}
 | 
			
		||||
 | 
			
		||||
{% block profile_info %}
 | 
			
		||||
{% include "member/club_info.html" %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
    {% if additional_fee_renewal %}
 | 
			
		||||
        <div class="alert alert-warning">
 | 
			
		||||
 
 | 
			
		||||
@@ -11,24 +11,39 @@ SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
<div class="row mt-4">
 | 
			
		||||
    <div class="col-xl-4">
 | 
			
		||||
        {% block profile_info %}
 | 
			
		||||
        {% include "member/profile_info.html" %}
 | 
			
		||||
            {% if user_object %}
 | 
			
		||||
                {% include "member/includes/profile_info.html"  %}
 | 
			
		||||
            {% elif club %}
 | 
			
		||||
                {% include "member/includes/club_info.html" %}
 | 
			
		||||
            {% elif note.club.weiclub %}
 | 
			
		||||
                {% with club=note.club.weiclub %}
 | 
			
		||||
                {% include "wei/weiclub_info.html" %}
 | 
			
		||||
                {% endwith %}
 | 
			
		||||
            {% elif note.club %}
 | 
			
		||||
                {% with club=note.club %}
 | 
			
		||||
                {% include "member/includes/club_info.html" %}
 | 
			
		||||
                {% endwith %}
 | 
			
		||||
            {% elif note.user %}
 | 
			
		||||
                {% with user_object=note.user %}
 | 
			
		||||
                {% include "member/includes/profile_info.html"  %}
 | 
			
		||||
                {% endwith %}
 | 
			
		||||
            {% endif %}
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="col-xl-8">
 | 
			
		||||
        {% block profile_content %}
 | 
			
		||||
        {% include "member/profile_tables.html" %}
 | 
			
		||||
        {% endblock %}
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block extrajavascript %}
 | 
			
		||||
{% if object %}
 | 
			
		||||
<script>
 | 
			
		||||
    {% if object %}
 | 
			
		||||
    function refreshHistory() {
 | 
			
		||||
        $("#history_list").load("{% url 'member:user_detail' pk=object.pk %} #history_list");
 | 
			
		||||
        $("#profile_infos").load("{% url 'member:user_detail' pk=object.pk %} #profile_infos");
 | 
			
		||||
    }
 | 
			
		||||
    {% endif %}
 | 
			
		||||
</script>
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "member/club_detail.html" %}
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load static django_tables2 i18n %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,11 +1,47 @@
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
 | 
			
		||||
{% block profile_info %}
 | 
			
		||||
{% include "member/club_info.html" %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
{% load i18n perms %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
{% include "member/club_tables.html" %}
 | 
			
		||||
{% if managers.data %}
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
        <a class="font-weight-bold">
 | 
			
		||||
            <i class="fa fa-users"></i> {% trans "Club managers" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    {% render_table managers %}
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
{% if member_list.data %}
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
        <a class="stretched-link font-weight-bold" href="{% url 'member:club_members' pk=club.pk %}">
 | 
			
		||||
            <i class="fa fa-users"></i> {% trans "Club members" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    {% render_table member_list %}
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
{% if history_list.data %}
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="historyListHeading">
 | 
			
		||||
        <a class="stretched-link font-weight-bold" {% if "note.view_note"|has_perm:club.note %}
 | 
			
		||||
            href="{% url 'note:transactions' pk=club.note.pk %}" {% endif %}>
 | 
			
		||||
            <i class="fa fa-euro"></i> {% trans "Transaction history" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="history_list">
 | 
			
		||||
        {% render_table history_list %}
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endif %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block extrajavascript %}
 | 
			
		||||
 
 | 
			
		||||
@@ -2,10 +2,6 @@
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
 | 
			
		||||
{% block profile_info %}
 | 
			
		||||
    {% include "member/club_info.html" %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
    <input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note ...">
 | 
			
		||||
    <div class="form-group">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
{% extends "member/club_detail.html" %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content%}
 | 
			
		||||
{% include "member/picture_update.html" %}
 | 
			
		||||
{% endblock%}
 | 
			
		||||
@@ -1,42 +0,0 @@
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load perms %}
 | 
			
		||||
 | 
			
		||||
{% if managers.data %}
 | 
			
		||||
    <div class="card">
 | 
			
		||||
        <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
            <a class="font-weight-bold">
 | 
			
		||||
                <i class="fa fa-users"></i> {% trans "Club managers" %}
 | 
			
		||||
            </a>
 | 
			
		||||
        </div>
 | 
			
		||||
        {% render_table managers %}
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <hr>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
{% if member_list.data %}
 | 
			
		||||
    <div class="card">
 | 
			
		||||
        <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
            <a class="stretched-link font-weight-bold" href="{% url 'member:club_members' pk=club.pk %}">
 | 
			
		||||
                <i class="fa fa-users"></i> {% trans "Club members" %}
 | 
			
		||||
            </a>
 | 
			
		||||
        </div>
 | 
			
		||||
        {% render_table member_list %}
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <hr>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
{% if history_list.data %}
 | 
			
		||||
    <div class="card">
 | 
			
		||||
        <div class="card-header position-relative" id="historyListHeading">
 | 
			
		||||
            <a class="stretched-link font-weight-bold" {% if "note.view_note"|has_perm:club.note %} href="{% url 'note:transactions' pk=club.note.pk %}" {% endif %}>
 | 
			
		||||
                <i class="fa fa-euro"></i> {% trans "Transaction history" %}
 | 
			
		||||
            </a>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div id="history_list">
 | 
			
		||||
            {% render_table history_list %}
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
{% endif %}
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% load i18n static pretty_money django_tables2 %}
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
 | 
			
		||||
{% block content %}
 | 
			
		||||
    <div class="alert alert-info">
 | 
			
		||||
 
 | 
			
		||||
@@ -1,95 +1,105 @@
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load i18n crispy_forms_tags %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
<div class="text-center">
 | 
			
		||||
<form method="post" enctype="multipart/form-data" id="formUpload">
 | 
			
		||||
  {% csrf_token %}
 | 
			
		||||
  {{ form |crispy }}
 | 
			
		||||
</form>
 | 
			
		||||
</div>
 | 
			
		||||
<!-- MODAL TO CROP THE IMAGE -->
 | 
			
		||||
<div class="modal fade" id="modalCrop">
 | 
			
		||||
  <div class="modal-dialog">
 | 
			
		||||
    <div class="modal-content">
 | 
			
		||||
      <div class="modal-body">
 | 
			
		||||
        <img src="" id="modal-image" style="max-width: 100%;">
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="modal-footer">
 | 
			
		||||
        <div class="btn-group pull-left" role="group">
 | 
			
		||||
          <button type="button" class="btn btn-default" id="js-zoom-in">
 | 
			
		||||
            <span class="glyphicon glyphicon-zoom-in"></span>
 | 
			
		||||
          </button>
 | 
			
		||||
          <button type="button" class="btn btn-default js-zoom-out">
 | 
			
		||||
            <span class="glyphicon glyphicon-zoom-out"></span>
 | 
			
		||||
          </button>
 | 
			
		||||
<div class="card bg-light">
 | 
			
		||||
  <h3 class="card-header text-center">
 | 
			
		||||
    {{ title }}
 | 
			
		||||
  </h3>
 | 
			
		||||
  <div class="card-body">
 | 
			
		||||
    <div class="text-center">
 | 
			
		||||
      <form method="post" enctype="multipart/form-data" id="formUpload">
 | 
			
		||||
        {% csrf_token %}
 | 
			
		||||
        {{ form |crispy }}
 | 
			
		||||
      </form>
 | 
			
		||||
    </div>
 | 
			
		||||
    <!-- MODAL TO CROP THE IMAGE -->
 | 
			
		||||
    <div class="modal fade" id="modalCrop">
 | 
			
		||||
      <div class="modal-dialog">
 | 
			
		||||
        <div class="modal-content">
 | 
			
		||||
          <div class="modal-body">
 | 
			
		||||
            <img src="" id="modal-image" style="max-width: 100%;">
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="modal-footer">
 | 
			
		||||
            <div class="btn-group pull-left" role="group">
 | 
			
		||||
              <button type="button" class="btn btn-default" id="js-zoom-in">
 | 
			
		||||
                <span class="glyphicon glyphicon-zoom-in"></span>
 | 
			
		||||
              </button>
 | 
			
		||||
              <button type="button" class="btn btn-default js-zoom-out">
 | 
			
		||||
                <span class="glyphicon glyphicon-zoom-out"></span>
 | 
			
		||||
              </button>
 | 
			
		||||
            </div>
 | 
			
		||||
            <button type="button" class="btn btn-default" data-dismiss="modal">Nevermind</button>
 | 
			
		||||
            <button type="button" class="btn btn-primary js-crop-and-upload">Crop and upload</button>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <button type="button" class="btn btn-default" data-dismiss="modal">Nevermind</button>
 | 
			
		||||
        <button type="button" class="btn btn-primary js-crop-and-upload">Crop and upload</button>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block extracss %}
 | 
			
		||||
    <link href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.6/cropper.min.css" rel="stylesheet">
 | 
			
		||||
<link href="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.6/cropper.min.css" rel="stylesheet">
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block extrajavascript%}
 | 
			
		||||
    <script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.6/cropper.min.js"></script>
 | 
			
		||||
    <script src="https://cdn.jsdelivr.net/npm/jquery-cropper@1.0.1/dist/jquery-cropper.min.js"></script>
 | 
			
		||||
    <script>
 | 
			
		||||
     $(function () {
 | 
			
		||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/cropperjs/1.5.6/cropper.min.js"></script>
 | 
			
		||||
<script src="https://cdn.jsdelivr.net/npm/jquery-cropper@1.0.1/dist/jquery-cropper.min.js"></script>
 | 
			
		||||
<script>
 | 
			
		||||
  $(function () {
 | 
			
		||||
 | 
			
		||||
         /* SCRIPT TO OPEN THE MODAL WITH THE PREVIEW */
 | 
			
		||||
         $("#id_image").change(function (e) {
 | 
			
		||||
             if (this.files && this.files[0]) {
 | 
			
		||||
                 var reader = new FileReader();
 | 
			
		||||
                 reader.onload = function (e) {
 | 
			
		||||
                     $("#modal-image").attr("src", e.target.result);
 | 
			
		||||
                     $("#modalCrop").modal("show");
 | 
			
		||||
                 }
 | 
			
		||||
                 reader.readAsDataURL(this.files[0]);
 | 
			
		||||
             }
 | 
			
		||||
         });
 | 
			
		||||
    /* SCRIPT TO OPEN THE MODAL WITH THE PREVIEW */
 | 
			
		||||
    $("#id_image").change(function (e) {
 | 
			
		||||
      if (this.files && this.files[0]) {
 | 
			
		||||
        var reader = new FileReader();
 | 
			
		||||
        reader.onload = function (e) {
 | 
			
		||||
          $("#modal-image").attr("src", e.target.result);
 | 
			
		||||
          $("#modalCrop").modal("show");
 | 
			
		||||
        }
 | 
			
		||||
        reader.readAsDataURL(this.files[0]);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
         /* SCRIPTS TO HANDLE THE CROPPER BOX */
 | 
			
		||||
         var $image = $("#modal-image");
 | 
			
		||||
         var cropBoxData;
 | 
			
		||||
         var canvasData;
 | 
			
		||||
         $("#modalCrop").on("shown.bs.modal", function () {
 | 
			
		||||
             $image.cropper({
 | 
			
		||||
                 viewMode: 1,
 | 
			
		||||
                 aspectRatio: 1/1,
 | 
			
		||||
                 minCropBoxWidth: 200,
 | 
			
		||||
                 minCropBoxHeight: 200,
 | 
			
		||||
                 ready: function () {
 | 
			
		||||
                     $image.cropper("setCanvasData", canvasData);
 | 
			
		||||
                     $image.cropper("setCropBoxData", cropBoxData);
 | 
			
		||||
                 }
 | 
			
		||||
             });
 | 
			
		||||
         }).on("hidden.bs.modal", function () {
 | 
			
		||||
             cropBoxData = $image.cropper("getCropBoxData");
 | 
			
		||||
             canvasData = $image.cropper("getCanvasData");
 | 
			
		||||
             $image.cropper("destroy");
 | 
			
		||||
         });
 | 
			
		||||
    /* SCRIPTS TO HANDLE THE CROPPER BOX */
 | 
			
		||||
    var $image = $("#modal-image");
 | 
			
		||||
    var cropBoxData;
 | 
			
		||||
    var canvasData;
 | 
			
		||||
    $("#modalCrop").on("shown.bs.modal", function () {
 | 
			
		||||
      $image.cropper({
 | 
			
		||||
        viewMode: 1,
 | 
			
		||||
        aspectRatio: 1 / 1,
 | 
			
		||||
        minCropBoxWidth: 200,
 | 
			
		||||
        minCropBoxHeight: 200,
 | 
			
		||||
        ready: function () {
 | 
			
		||||
          $image.cropper("setCanvasData", canvasData);
 | 
			
		||||
          $image.cropper("setCropBoxData", cropBoxData);
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }).on("hidden.bs.modal", function () {
 | 
			
		||||
      cropBoxData = $image.cropper("getCropBoxData");
 | 
			
		||||
      canvasData = $image.cropper("getCanvasData");
 | 
			
		||||
      $image.cropper("destroy");
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
         $(".js-zoom-in").click(function () {
 | 
			
		||||
             $image.cropper("zoom", 0.1);
 | 
			
		||||
         });
 | 
			
		||||
    $(".js-zoom-in").click(function () {
 | 
			
		||||
      $image.cropper("zoom", 0.1);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
         $(".js-zoom-out").click(function () {
 | 
			
		||||
             $image.cropper("zoom", -0.1);
 | 
			
		||||
         });
 | 
			
		||||
    $(".js-zoom-out").click(function () {
 | 
			
		||||
      $image.cropper("zoom", -0.1);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
         /* SCRIPT TO COLLECT THE DATA AND POST TO THE SERVER */
 | 
			
		||||
         $(".js-crop-and-upload").click(function () {
 | 
			
		||||
             var cropData = $image.cropper("getData");
 | 
			
		||||
             $("#id_x").val(cropData["x"]);
 | 
			
		||||
             $("#id_y").val(cropData["y"]);
 | 
			
		||||
             $("#id_height").val(cropData["height"]);
 | 
			
		||||
             $("#id_width").val(cropData["width"]);
 | 
			
		||||
             $("#formUpload").submit();
 | 
			
		||||
         });
 | 
			
		||||
    /* SCRIPT TO COLLECT THE DATA AND POST TO THE SERVER */
 | 
			
		||||
    $(".js-crop-and-upload").click(function () {
 | 
			
		||||
      var cropData = $image.cropper("getData");
 | 
			
		||||
      $("#id_x").val(cropData["x"]);
 | 
			
		||||
      $("#id_y").val(cropData["y"]);
 | 
			
		||||
      $("#id_height").val(cropData["height"]);
 | 
			
		||||
      $("#id_width").val(cropData["width"]);
 | 
			
		||||
      $("#formUpload").submit();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
     });
 | 
			
		||||
    </script>
 | 
			
		||||
  });
 | 
			
		||||
</script>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
{% extends "member/profile_detail.html" %}
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load static django_tables2 i18n %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,40 @@
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
{% load i18n perms %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
{% if not object.profile.email_confirmed and "member.change_profile_email_confirmed"|has_perm:user_object.profile %}
 | 
			
		||||
<div class="alert alert-warning">
 | 
			
		||||
    {% trans "This user doesn't have confirmed his/her e-mail address." %}
 | 
			
		||||
    <a href="{% url "registration:email_validation_resend" pk=user_object.pk %}">
 | 
			
		||||
        {% trans "Click here to resend a validation link." %}
 | 
			
		||||
    </a>
 | 
			
		||||
</div>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
        <a class="font-weight-bold">
 | 
			
		||||
            <i class="fa fa-users"></i> {% trans "View my memberships" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    {% render_table club_list %}
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="historyListHeading">
 | 
			
		||||
        <a class="stretched-link font-weight-bold" {% if "note.view_note"|has_perm:user_object.note %}
 | 
			
		||||
            href="{% url 'note:transactions' pk=user_object.note.pk %}" {% endif %}>
 | 
			
		||||
            <i class="fa fa-euro"></i> {% trans "Transaction history" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="history_list">
 | 
			
		||||
        {% render_table history_list %}
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block extrajavascript %}
 | 
			
		||||
<script>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +0,0 @@
 | 
			
		||||
{% extends "member/profile_detail.html" %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content%}
 | 
			
		||||
{% include "member/picture_update.html" %}
 | 
			
		||||
{% endblock%}
 | 
			
		||||
@@ -1,32 +0,0 @@
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load perms %}
 | 
			
		||||
 | 
			
		||||
{% if not object.profile.email_confirmed and "member.change_profile_email_confirmed"|has_perm:user_object.profile %}
 | 
			
		||||
    <div class="alert alert-warning">
 | 
			
		||||
        {% trans "This user doesn't have confirmed his/her e-mail address." %}
 | 
			
		||||
        <a href="{% url "registration:email_validation_resend" pk=user_object.pk %}">{% trans "Click here to resend a validation link." %}</a>
 | 
			
		||||
    </div>
 | 
			
		||||
{% endif %}
 | 
			
		||||
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="clubListHeading">
 | 
			
		||||
        <a class="font-weight-bold">
 | 
			
		||||
            <i class="fa fa-users"></i> {% trans "View my memberships" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    {% render_table club_list %}
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
<hr>
 | 
			
		||||
 | 
			
		||||
<div class="card">
 | 
			
		||||
    <div class="card-header position-relative" id="historyListHeading">
 | 
			
		||||
            <a class="stretched-link font-weight-bold" {% if "note.view_note"|has_perm:user_object.note %} href="{% url 'note:transactions' pk=user_object.note.pk %}" {% endif %}>
 | 
			
		||||
            <i class="fa fa-euro"></i> {% trans "Transaction history" %}
 | 
			
		||||
        </a>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div id="history_list">
 | 
			
		||||
        {% render_table history_list %}
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
@@ -1,11 +1,11 @@
 | 
			
		||||
{% extends "base.html" %}
 | 
			
		||||
{% extends "member/base.html" %}
 | 
			
		||||
{% load i18n crispy_forms_tags %}
 | 
			
		||||
{% comment %}
 | 
			
		||||
SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
{% endcomment %}
 | 
			
		||||
{% block contenttitle %}{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block content %}
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
<div class="card bg-light">
 | 
			
		||||
    <h3 class="card-header text-center">
 | 
			
		||||
        {{ title }}
 | 
			
		||||
 
 | 
			
		||||
@@ -273,7 +273,7 @@ class PictureUpdateView(ProtectQuerysetMixin, LoginRequiredMixin, FormMixin, Det
 | 
			
		||||
 | 
			
		||||
class ProfilePictureUpdateView(PictureUpdateView):
 | 
			
		||||
    model = User
 | 
			
		||||
    template_name = 'member/profile_picture_update.html'
 | 
			
		||||
    template_name = 'member/picture_update.html'
 | 
			
		||||
    context_object_name = 'user_object'
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -452,7 +452,7 @@ class ClubPictureUpdateView(PictureUpdateView):
 | 
			
		||||
    Update the profile picture of a club.
 | 
			
		||||
    """
 | 
			
		||||
    model = Club
 | 
			
		||||
    template_name = 'member/club_picture_update.html'
 | 
			
		||||
    template_name = 'member/picture_update.html'
 | 
			
		||||
    context_object_name = 'club'
 | 
			
		||||
 | 
			
		||||
    def get_success_url(self):
 | 
			
		||||
 
 | 
			
		||||
@@ -2,22 +2,6 @@
 | 
			
		||||
{% load render_table from django_tables2 %}
 | 
			
		||||
{% load crispy_forms_tags %}
 | 
			
		||||
 | 
			
		||||
{% block profile_info %}
 | 
			
		||||
    {% if note.club.weiclub %}
 | 
			
		||||
        {% with club=note.club.weiclub %}
 | 
			
		||||
            {% include "wei/weiclub_info.html" %}
 | 
			
		||||
        {% endwith %}
 | 
			
		||||
    {% elif note.club %}
 | 
			
		||||
        {% with club=note.club %}
 | 
			
		||||
            {% include "member/club_info.html" %}
 | 
			
		||||
        {% endwith %}
 | 
			
		||||
    {% elif note.user %}
 | 
			
		||||
        {% with user_object=note.user %}
 | 
			
		||||
            {% include "member/profile_info.html"  %}
 | 
			
		||||
        {% endwith %}
 | 
			
		||||
    {% endif %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 | 
			
		||||
{% block profile_content %}
 | 
			
		||||
    {% crispy form %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@ class AmountInput(NumberInput):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Autocomplete(TextInput):
 | 
			
		||||
    template_name = "member/autocomplete_model.html"
 | 
			
		||||
    template_name = "autocomplete_model.html"
 | 
			
		||||
 | 
			
		||||
    def __init__(self, model, resetable=False, attrs=None):
 | 
			
		||||
        super().__init__(attrs)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user