Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / templates / im / projects / project_detail.html @ 71a38edf

History | View | Annotate | Download (8 kB)

1
{% extends "im/account_base.html" %}
2

    
3
{% load filters %}
4

    
5
{% block page.body %}
6
{% with object.project.members as members %}
7
{% with object.project.approved_members as approved_members %}
8

    
9
<div class="projects">
10
        
11

    
12
        <h2>
13
                 {% if user in members %}
14
                        <em>
15
                                {% if user == object.owner %}
16
                                        {% if object.is_active %}
17
                                                [ ADMINISTRATOR - ACTIVE ]
18
                                        {% else %}
19
                                                [ ADMINISTRATOR - PENDING ]
20
                                        {% endif %}
21
                                {%  else %}
22
                                        {% if  user in approve_members %}
23
                                                [ ENROLLED - ACTIVE ]
24
                                        {% else %}
25
                                                [ ENROLLED - PENDING ]
26
                                        {% endif %}
27
                                {% endif %}
28
                        </em>                
29
                {% endif %}
30
                 <span>{{ object.definition.name|upper }}</span>
31
         </h2>
32
         
33
         <div class="details">
34
                 <h3>
35
                         GENERAL INFO
36
                         {% if user == object.owner %}
37
                                 <a href="#" class="edit">EDIT</a>
38
                         {% endif %}
39
                 </h3>
40
                 
41
                 <div class="data">
42
                         <p class="restricted">{{ object.definition.description|safe }}</p>
43
                         <dl class="alt-style">
44
                                 <dt>Homepage url</dt>
45
                                 <dd>
46
                                         {% if object.definition.homepage%}
47
                                                 <a href="{{ object.definition.homepage }}">{{ object.definition.homepage }}</a>
48
                                         {% else %}
49
                                                 Not set yet
50
                                         {% endif %}
51
                                 </dd>
52
                                 <dt>Moderation</dt>
53
                                 <dd>
54
                                         {{ object.definition.member_accept_policy.description }}
55
                                 </dd>
56
                         </dl>
57
                </div>
58
                <div class="editable" style="display:none;">
59
                <form action="{% url project_detail object.serial %}" method="post"
60
                    class="withlabels">{% csrf_token %}
61
                    {% with update_form as form %}
62
                    {% include "im/form_render.html" %}
63
                    <div class="form-row submit">
64
                        <input type="submit" class="submit altcol" value="SAVE" />
65
                    </div>
66
                    {% endwith %}
67
            </form>
68
                </div>
69
         </div>
70
         <div class="full-dotted">
71
                 <h3>DETAILS</h3>
72
                 <dl class="alt-style">
73
                         <dt>Name</dt>
74
                         <dd>{{ object.definition.name }}&nbsp;</dd>
75
                         <dt>Issue date:</dt>
76
                         <dd>{{object.issue_date|date:"d/m/Y"}}&nbsp;</dd>
77
                         <dt>Start date:</dt>
78
                         <dd>{{object.definition.start_date|date:"d/m/Y"}}&nbsp;</dd>
79
                         <dt>End Date</dt>
80
                         <dd>{{object.definition.end_date|date:"d/m/Y"}}&nbsp;</dd>
81
<!--
82
                         <dt>Moderation</dt>
83
                         <dd>{% if object.moderation_enabled%}Yes{% else %}No{% endif %}</dd>
84
 -->
85
                         <dt>Activated</dt>
86
                         <dd>{% if object.is_active %}Yes{% else %}No{% endif %}</dd>
87
                         <dt>Owner</dt>
88
                         {{ o.owner }}
89
                         <dd>{% if user == o.owner %}
90
                        Me
91
                {% else%}
92
                    {{o.owner.realname}} ({{o.owner.email}})
93
                
94
                {% endif %}
95
                &nbsp;
96
            </dd>
97
            <dt>Max participants</dt>
98
                         <dd>{% if object.definition.limit_on_members_number%}{{object.definition.limit_on_members_number}}{% else %}&nbsp;{% endif %}</dd>
99
                 </dl>
100
         </div>
101
         <div class="full-dotted">
102
                 <h3>RESOURCES</h3>                 
103
                 {% if object.definition.projectresourcegrant_set.all %}
104
                 <dl class="alt-style">        
105
                         {% for q in object.definition.projectresourcegrant_set.all %}
106
                                  q.resource
107
                                 <dt>
108
                                       Max {% if q.is_abbreviation %}{{ q.verbose_name|upper }}{% else %}{{ q.verbose_name }}{% endif %}{% if not q.unit %}s {% endif  %}  per user
109
                               </dt>
110
                                 <dd>
111
                               {% if q.member_limit %}
112
                                        {% if q.unit %}
113
                                                {{ q.member_limit|sizeof_fmt }}
114
                                        {% else %}
115
                                                {{ q.member_limit|isinf }}
116
                                        {% endif %}
117
                               {% else %}
118
                                       Unlimited
119
                               {% endif %}
120
                               </dd>
121
                       {% empty %}
122
                               No resources
123
                         {% endfor %}
124
                         
125
                         
126
                 </dl>
127
                {% else %}
128
            <p>No resources</p>
129
        {% endif %} 
130
         </div>
131
     {% if user == object.owner %}
132
         <div class="full-dotted">
133
            {% with page|concat:sorting as args %}
134
            {% with object.project.projectmembership_set.select_related.all|paginate:args as membership %}
135
            {% if membership %}
136
            <form method="GET" class="minimal" action="#members-table">
137
                <div class="form-row">
138
                    <select name="sorting" onchange="this.form.submit();" class="dropkicked">
139
                        <option value="person__email" {% if  == 'person__email' %}selected{% endif %}>Sort by User Id</option>
140
                        <option value="person__first_name" {% if  == 'person__first_name' %}selected{% endif %}>Sort by Name</option>
141
                        <option value="date_joined" {% if  == 'date_joined' %}selected{% endif %}>Sort by Status</option>
142
                    </select>
143
                </div>
144
            </form>
145
             <table class="alt-style" id="members-table">
146
                <caption>MEMBERS:</caption>
147
                <thead>
148
                    <tr>
149
                        <th>User Id</th>
150
                        <th>Name</th>
151
                        <th>Status</th>
152
                    </tr>
153
                </thead>
154
                <tbody>
155
                {% for m in membership.object_list %}
156
                  <tr>
157
                    <td>{{m.person.email}}</td>
158
                    <td>{{m.person.realname}}</td>
159
                    {% if m.person == o.owner %}
160
                    <td>Owner</td>
161
                    {% else %}
162
                        {% if m.is_accepted %}
163
                        <td>Approved
164
                            {% if user == object.owner %}
165
                                <a href="{% url project_disapprove_member object.serial m.person.id  %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Remove</a>
166
                            {% endif %}
167
                        </td>
168
                        {% else %}
169
                        <td>Pending
170
                            {% if user == object.owner %}
171
                                <a href="{% url project_approve_member object.serial m.person.id %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Accept</a>
172
                                <a href="{% url project_disapprove_member object.serial m.person.id  %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Remove</a>
173
                            {% endif %}
174
                        </td>    
175
                        {% endif %}
176
                    {% endif %}
177
                  </tr>
178
                {% endfor %}
179
                </tbody>
180
             </table>
181
             <div class="pagination">
182
                <p class="next-prev">
183
                    {% if membership.has_previous %}
184
                        <a href="?page={{ membership.previous_page_number }}{% if sorting %}&sorting={{sorting}}{% endif %}">previous</a>
185
                    {% endif %}
186
                    {% if membership.has_next %}
187
                        <a href="?page={{ membership.next_page_number }}{% if sorting %}&sorting={{sorting}}{% endif %}">next</a>
188
                    {% endif %}
189
                </p>
190
                <p class="nums">
191
                    <span class="current">
192
                        Page {{ membership.number }} of {{ membership.paginator.num_pages }}
193
                    </span>
194
                </p>
195
            </div>
196
             {% else %}
197
                <p>No members yet!</p>
198
            {% endif %}
199
        {% endwith %}
200
        {% endwith %}
201
         </div>
202
     
203
     
204
    
205
    <div class="full-dotted">
206
        <form action="{% url project_detail object.serial %}#members-table" method="post" class="withlabels" >{% csrf_token %}
207
            <h2>Enroll more members</h2>
208
                {% with addmembers_form as form %}
209
                    {% include "im/form_render.html" %}
210
                {% endwith %}
211
                <div class="form-row submit">
212
                    <input type="submit" class="submit altcol" value="ADD MEMBERS" />
213
                </div>
214
        </form>
215
    </div>
216
    {% endif %}
217
    <div class="full-dotted">
218
            <p>
219
                    <a href="{% url group_all %}">back to All Projects &gt;</a></li>
220
            </p>
221
        <p>
222
                <a href="{% url group_list %}">back to My Projects &gt;</a>
223
        </p>
224
        </ul>
225
    </div>
226
     
227
    
228
</div>
229
 
230
{% endwith %}
231
{% endwith %}
232
{% endblock %}