93 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {% from "components/icon.html" import Icon %}
 | ||
| {% from "components/empty_state.html" import EmptyState %}
 | ||
| 
 | ||
| {% extends "portfolios/base.html" %}
 | ||
| 
 | ||
| {% set can_create_applications = user_can(permissions.CREATE_APPLICATION) %}
 | ||
| 
 | ||
| {% block portfolio_content %}
 | ||
| 
 | ||
| <div class='portfolio-applications'>
 | ||
|   <div class='portfolio-applications__header row'>
 | ||
|     <div class='portfolio-applications__header--title col col--grow'>Applications</div>
 | ||
|     <div class='portfolio-applications__header--actions col'>
 | ||
|       {% if can_create_applications %}
 | ||
|         <a class='icon-link' href='{{ url_for('portfolios.new_application', portfolio_id=portfolio.id) }}'>
 | ||
|           {{ 'portfolios.applications.add_application_text' | translate }}
 | ||
|           {{ Icon("plus", classes="sidenav__link-icon icon--circle") }}
 | ||
|         </a>
 | ||
|       {% endif %}
 | ||
|     </div>
 | ||
|   </div>
 | ||
| 
 | ||
|   {% if not portfolio.applications %}
 | ||
| 
 | ||
|     {{ EmptyState(
 | ||
|       'This portfolio doesn’t have any applications yet.',
 | ||
|       action_label='Add a New Application' if can_create_applications else None,
 | ||
|       action_href=url_for('portfolios.new_application', portfolio_id=portfolio.id) if can_create_applications else None,
 | ||
|       icon='cloud',
 | ||
|       sub_message=None if can_create_applications else 'Please contact your JEDI Cloud portfolio administrator to set up a new application.'
 | ||
|     ) }}
 | ||
| 
 | ||
|   {% else %}
 | ||
| 
 | ||
|     <div class='application-list'>
 | ||
|       {% for application in portfolio.applications|sort(attribute='name') %}
 | ||
|         <div is='toggler' v-cloak class='accordian application-list-item'>
 | ||
|           <template slot-scope='props'>
 | ||
|             <header class='accordian__header row'>
 | ||
|               <div class='col col-grow'>
 | ||
|                 <h3 class='icon-link accordian__title' v-on:click="props.toggle">{{ application.name }}</h3>
 | ||
|                 <span class='accordian__description'>{{ application.description }}</span>
 | ||
|                 <div class='accordian__actions'>
 | ||
|                   {% if user_can(permissions.EDIT_APPLICATION) %}
 | ||
|                     <a class='icon-link' href='{{ url_for("portfolios.edit_application", portfolio_id=portfolio.id, application_id=application.id) }}'>
 | ||
|                       <span>{{ "portfolios.applications.app_settings_text" | translate }}</span>
 | ||
|                     </a>
 | ||
|                     <div class='separator'></div>
 | ||
|                   {% endif %}
 | ||
|                   {% if user_can(permissions.VIEW_PORTFOLIO_USERS) %}
 | ||
|                     <a class='icon-link'>
 | ||
|                       <span>{{ "portfolios.applications.team_text" | translate }}</span>
 | ||
|                       <span class='counter'>{{ application.num_users }}</span>
 | ||
|                     </a>
 | ||
|                   {% endif %}
 | ||
|                 </div>
 | ||
|               </div>
 | ||
|               <div class='col'>
 | ||
|                 <span v-on:click="props.toggle" class='icon-link toggle-link'>
 | ||
|                   <template v-if="props.isVisible">
 | ||
|                     {{ Icon('minus') }}
 | ||
|                   </template>
 | ||
|                   <template v-else>
 | ||
|                     {{ Icon('plus') }}
 | ||
|                   </template>
 | ||
|                 </span>
 | ||
|               </div>
 | ||
|             </header>
 | ||
|             <ul v-if="props.isVisible">
 | ||
|               {% for environment in application.environments %}
 | ||
|                 <li class='accordian__item application-list-item__environment'>
 | ||
|                   <div class='application-list-item__environment__name'>
 | ||
|                     <span>{{ environment.name }}</span>
 | ||
|                   </div>
 | ||
| 
 | ||
|                   <a href='{{ url_for("portfolios.access_environment", portfolio_id=portfolio.id, environment_id=environment.id)}}' target='_blank' rel='noopener noreferrer' class='application-list-item__environment__csp_link icon-link'>
 | ||
|                     <span>{{ "portfolios.applications.csp_console_text" | translate }}</span>
 | ||
|                   </a>
 | ||
| 
 | ||
|                 </li>
 | ||
|               {% endfor %}
 | ||
|             </ul>
 | ||
|           </template>
 | ||
|         </div>
 | ||
|       {% endfor %}
 | ||
|     </div>
 | ||
| 
 | ||
|   {% endif %}
 | ||
| 
 | ||
| </div>
 | ||
| 
 | ||
| {% endblock %}
 |