Statistics
| Branch: | Tag: | Revision:

root / snf-astakos-app / astakos / im / templates / im / projects / project_detail.html @ 595dde70

History | View | Annotate | Download (8.1 kB)

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

    
3
{% load filters %}
4

    
5
{% block page.body %}
6
{% with object.project.approved_members as approved_members %}
7
{% with resource_catalog|populated_resource_catalog as resource_catalog%}
8
<div class="projects">
9
        
10

    
11
        <h2>
12
        <em>
13
            {% if user == object.owner %}
14
                [ ADMINISTRATOR - {{ object.state|upper }}]
15
            {%  else %}
16
                {% if  user in approve_members %}
17
                    [ ENROLLED - ACTIVE ]
18
                {% else %}
19
                    [ ENROLLED - PENDING ]
20
                {% endif %}
21
            {% endif %}
22
        </em>
23
                 <span>{{ object.name|upper }}</span>
24
         </h2>
25
         
26
         <div class="full-dotted">
27
                 <h3>PROJECT DETAILS</h3>
28
                 <dl class="alt-style">
29
                         <dt>Name</dt>
30
                         <dd>{{ object.name }}&nbsp;</dd>
31
                         <dt>Homepage url</dt>
32
            <dd>
33
                {% if object.homepage%}
34
                    <a href="{{ object.homepage }}">{{ object.homepage }}</a>
35
                {% else %}
36
                    Not set yet
37
                {% endif %}
38
            </dd>
39
                         <dt>Description</dt>
40
                         <dd>{{ object.description }}&nbsp;</dd>
41
            
42
            
43
                         <dt>Issue date</dt>
44
                         <dd>{{object.issue_date|date:"d/m/Y"}}&nbsp;</dd>
45
                         <dt>Start date</dt>
46
                         <dd>{{object.start_date|date:"d/m/Y"}}&nbsp;</dd>
47
                         <dt>End Date</dt>
48
                         <dd>{{object.end_date|date:"d/m/Y"}}&nbsp;</dd>
49
                         <dt>Comments</dt>
50
                         <dd>{{ object.comments }}&nbsp;</dd>
51
                         <dt>Status</dt>
52
                         <dd>{{ object.state }}</dd>
53
                         <dt>Owner</dt>
54
                         <dd>{% if user == object.owner %}
55
                        Me
56
                {% else%}
57
                    {{object.owner.realname}} {% if user.is_superuser %}({{object.owner.email}}){% endif %}
58
                {% endif %}
59
                &nbsp;
60
            </dd>
61
            
62
                         <dt>Precursor Application</dt>
63
                         <dd>
64
                             {% if object.precursor_application %}
65
                    <a href="{% url project_detail object.precursor_application.id %}">{{object.precursor_application.id}}</a>
66
                {% endif %}
67
                &nbsp;
68
                         </dd>
69
                         <dt>Follower Application</dt>
70
                         <dd>
71
                             {% if object.follower %}
72
                    <a href="{% url project_detail object.follower.id %}">{{object.follower.id}}</a>
73
                {% endif %}
74
                &nbsp;
75
                         </dd>
76
                 </dl>
77
         </div>
78
         <div class="full-dotted">
79
                 <h3>MEMBERSHIP OPTIONS</h3>
80
                 <dl class="alt-style">
81
                         <dt>Max participants</dt>
82
                         <dd>{% if object.limit_on_members_number%}{{object.limit_on_members_number}}{% else %}&nbsp;{% endif %}</dd>
83
                         <dt>Member join policy</dt>
84
            <dd>
85
                {{ object.member_join_policy }}
86
            </dd>
87
                         <dt>Member leave policy</dt>
88
            <dd>
89
                {{ object.member_leave_policy }}
90
            </dd>
91
                 </dl>
92
         </div>
93
         <div class="full-dotted">
94
                 <h3>RESOURCES</h3>
95
                 {% if object.projectresourcegrant_set.all %}
96
             <dl class="alt-style">        
97
                         {% for rp in object.projectresourcegrant_set.all %}
98
                {% with resource_catalog|lookup:'resources' as resource_info %}
99
                    {% with rp.resource|to_unicode as resource_name %}
100
                        {% with resource_info|lookup:resource_name as decorated_resource %}
101
                                 <dt>
102
                                       Max {% if decorated_resource.is_abbreviation %}{{ decorated_resource.verbose_name|upper }}{% else %}{{ decorated_resource.verbose_name }}{% endif %}{% if not q.unit %}s {% endif  %}  per user
103
                               </dt>
104
                                 <dd>
105
                               {% if rp.member_capacity %}
106
                                        {% if decorated_resource.unit %}
107
                                                {{ rp.member_capacity|sizeof_fmt }}
108
                                        {% else %}
109
                                                {{ rp.member_capacity|isinf }}
110
                                        {% endif %}
111
                               {% else %}
112
                                       Unlimited
113
                               {% endif %}
114
                               </dd>
115
                                       {% endwith %}
116
                                   {% endwith %}
117
                               {% endwith %}
118
                       {% empty %}
119
                               No resources
120
                         {% endfor %}
121
                         
122
                         
123
                 </dl>
124
                {% else %}
125
            <p>No resources</p>
126
        {% endif %} 
127
         </div>
128
     {% if object.project.is_alive %}
129
         <div class="full-dotted">
130
            {% with page|concat:sorting as args %}
131
            {% with object.project.projectmembership_set.select_related.all|paginate:args as membership %}
132
            {% if membership %}
133
             
134
             <table class="alt-style" id="members-table">
135
                <caption>MEMBERS:</caption>
136
                <thead>
137
                    <tr>
138
                        {%if user.is_superuser or user == object.owner %}<th>User Email</th>{% endif %}
139
                        <th>Name</th>
140
                        <th>Status</th>
141
                    </tr>
142
                </thead>
143
                <tbody>
144
                {% for m in membership.object_list %}
145
                  <tr>
146
                    {%if user.is_superuser or user == object.owner %}<td>{{m.person.email}}</td>{% endif %}
147
                    <td>{{m.person.realname}}</td>
148
                    {% if m.person == object.owner %}
149
                    <td>Owner</td>
150
                    {% else %}
151
                        {% if m.acceptance_date %}
152
                        <td>Approved {% if m.leave_request_date%}(User has requested to leave the project on:{{m.leave_request_date}}){% endif %}
153
                            {% if user == object.owner and user != m.person %}
154
                                <a href="{% url project_remove_member object.id m.person.id  %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Remove</a>
155
                            {% endif %}
156
                        </td>
157
                        {% else %}
158
                        <td>Pending
159
                            {% if user == object.owner %}
160
                                <a href="{% url project_accept_member object.id m.person.id %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Accept</a>
161
                                <a href="{% url project_reject_member object.id m.person.id  %}?{% if page %}page={{ page }}{% endif %}{% if sorting %}&sorting={{sorting}}{% endif %}">Reject</a>
162
                            {% endif %}
163
                        </td>    
164
                        {% endif %}
165
                    {% endif %}
166
                  </tr>
167
                {% endfor %}
168
                </tbody>
169
             </table>
170
             <div class="pagination">
171
                <p class="next-prev">
172
                    {% if membership.has_previous %}
173
                        <a href="?page={{ membership.previous_page_number }}{% if sorting %}&sorting={{sorting}}{% endif %}">< previous</a>
174
                    {% else %}
175
                            <a href="javascript:void()" class="disabled">< previous</a>
176
                    {% endif %}
177
                    {% if membership.has_next %}
178
                        <a href="?page={{ membership.next_page_number }}{% if sorting %}&sorting={{sorting}}{% endif %}">next ></a>
179
                    {% else %}
180
                            <a href="javascript:void()" class="disabled">next ></a>    
181
                    {% endif %}
182
                </p>
183
                <p class="nums">
184
                    <span class="current">
185
                        Page {{ membership.number }} of {{ membership.paginator.num_pages }}
186
                    </span>
187
                </p>
188
            </div>
189
             {% else %}
190
                <p>No members yet!</p>
191
            {% endif %}
192
        {% endwith %}
193
        {% endwith %}
194
         </div>
195
     
196
     
197
    
198
    <div class="full-dotted">
199
        <form action="{% url project_detail object.id %}#members-table" method="post" class="withlabels" >{% csrf_token %}
200
            <h2>Enroll more members</h2>
201
                {% with addmembers_form as form %}
202
                    {% include "im/form_render.html" %}
203
                {% endwith %}
204
                <div class="form-row submit">
205
                    <input type="submit" class="submit altcol" value="ADD MEMBERS" />
206
                </div>
207
        </form>
208
    </div>
209
    {% endif %}
210
    <div class="full-dotted">
211
             
212
        <p>
213
                <a href="{% url project_list %}">back to Projects &gt;</a>
214
        </p>
215
        </ul>
216
    </div>
217
     
218
    
219
</div>
220

    
221
{% endwith %} 
222
{% endwith %}
223
{% endblock %}