[smarcet] - #6968
* added preview feature on admin Conflicts: marketplace/code/ui/frontend/DistributionsDirectoryPage.php Conflicts: marketplace/code/ui/admin/MarketPlaceAdminPage.php marketplace/code/ui/frontend/CloudsDirectoryPage_Controller.php marketplace/code/ui/frontend/ConsultantsDirectoryPage.php marketplace/templates/Layout/Includes/MarketPlaceAdminPage_implementations_list.ss
This commit is contained in:
parent
8bdc2099c8
commit
0d49a5b6cb
File diff suppressed because it is too large
Load Diff
@ -249,32 +249,11 @@ abstract class CloudsDirectoryPage_Controller extends MarketPlaceDirectoryPage_C
|
||||
$cloud = $this->cloud_repository->getBy($query);
|
||||
if(!$cloud) throw new NotFoundEntityException('','');
|
||||
if($cloud->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
$locations = array();
|
||||
foreach($cloud->getDataCentersLocations() as $location){
|
||||
$json_data = array();
|
||||
$json_data['country'] = Geoip::countryCode2name($location->getCountry());
|
||||
$json_data['city'] = $location->getCity();
|
||||
$json_data['lat'] = $location->getLat();
|
||||
$json_data['lng'] = $location->getLng();
|
||||
$json_data['color'] = $location->getDataCenterRegion()->getColor();
|
||||
$json_data['endpoint'] = $location->getDataCenterRegion()->getEndpoint();
|
||||
$json_data['zone'] = $location->getDataCenterRegion()->getName();
|
||||
$json_data['availability_zones'] = array();
|
||||
$json_data['product_name'] = $cloud->getName();
|
||||
$json_data['owner'] = $cloud->getCompany()->getName();
|
||||
foreach($location->getAvailabilityZones() as $az ){
|
||||
$json_data_az = array();
|
||||
$json_data_az['name'] = $az->getName();
|
||||
array_push($json_data['availability_zones'],$json_data_az);
|
||||
}
|
||||
array_push($locations,$json_data);
|
||||
}
|
||||
return json_encode($locations);
|
||||
return CloudViewModel::getDataCenterLocationsJson($cloud);
|
||||
}
|
||||
|
||||
public function getPricingSchemas(){
|
||||
list($list,$size ) = $pricing_schemas = $this->pricing_schema_repository->getAll(new QueryObject(),0,1000);
|
||||
return new ArrayList($list);
|
||||
return CloudViewModel::getPricingSchemas();
|
||||
}
|
||||
|
||||
public function getEnabledPricingSchemas(){
|
||||
@ -282,22 +261,11 @@ abstract class CloudsDirectoryPage_Controller extends MarketPlaceDirectoryPage_C
|
||||
$company_url_segment = Convert::raw2sql($params["Company"]);
|
||||
$slug = Convert::raw2sql($params["Slug"]);
|
||||
$query = new QueryObject();
|
||||
$res = array();
|
||||
$query->addAddCondition(QueryCriteria::equal('Slug',$slug));
|
||||
$cloud = $this->cloud_repository->getBy($query);
|
||||
if(!$cloud) throw new NotFoundEntityException('','');
|
||||
if($cloud->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
if(count($cloud->getCapabilities())>0){
|
||||
$capabilities = $cloud->getCapabilities();
|
||||
$enabled_pricing_schemas = reset($capabilities)->getPricingSchemas();
|
||||
if(count($enabled_pricing_schemas)>0){
|
||||
|
||||
foreach($enabled_pricing_schemas as $ps){
|
||||
array_push($res,$ps->getIdentifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
return json_encode($res);
|
||||
return CloudViewModel::getEnabledPricingSchemas($cloud);
|
||||
}
|
||||
|
||||
public function ServicesCombo(){
|
||||
|
@ -143,25 +143,9 @@ class ConsultantsDirectoryPage_Controller extends MarketPlaceDirectoryPage_Contr
|
||||
$consultant = $this->consultant_repository->getBy($query);
|
||||
if(!$consultant) throw new NotFoundEntityException('Consultant','by slug');
|
||||
if($consultant->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/consultant.page.js");
|
||||
$services = $consultant->getServicesOffered();
|
||||
$unique_services = array();
|
||||
$unique_regions = array();
|
||||
foreach($services as $service){
|
||||
if(!array_key_exists($service->getType(),$unique_services))
|
||||
$unique_services[$service->getType()] = $service;
|
||||
if(!array_key_exists($service->getRegionID(),$unique_regions)){
|
||||
$region = $this->region_repository->getById($service->getRegionID());
|
||||
$unique_regions[$service->getRegionID()]=$region;
|
||||
}
|
||||
}
|
||||
return $this->Customise(
|
||||
array(
|
||||
'Consultant' => $consultant,
|
||||
'Services' => new ArrayList(array_values($unique_services)),
|
||||
'Regions' => new ArrayList(array_values($unique_regions)),
|
||||
)
|
||||
)->renderWith(array('ConsultantsDirectoryPage_consultant','ConsultantsDirectoryPage','MarketPlacePage'));
|
||||
|
||||
$render = new ConsultantSapphireRender($consultant);
|
||||
return $render->draw($consultant);
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return $this->httpError(404, 'Sorry that Consultant could not be found!.');
|
||||
|
@ -156,9 +156,8 @@ class DistributionsDirectoryPage_Controller extends MarketPlaceDirectoryPage_Con
|
||||
$distribution = $this->distribution_repository->getBy($query);
|
||||
if(!$distribution) throw new NotFoundEntityException('','');
|
||||
if($distribution->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/implementation.page.js");
|
||||
return $this->Customise($distribution)->renderWith(array('DistributionsDirectoryPage_implementation','DistributionsDirectoryPage','MarketPlacePage'));
|
||||
$render = new DistributionSapphireRender($distribution);
|
||||
return $render->draw();
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return $this->httpError(404, 'Sorry that Distribution could not be found!.');
|
||||
@ -175,10 +174,8 @@ class DistributionsDirectoryPage_Controller extends MarketPlaceDirectoryPage_Con
|
||||
$appliance = $this->appliance_repository->getBy($query);
|
||||
if(!$appliance) throw new NotFoundEntityException('','');
|
||||
if($appliance->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/implementation.page.js");
|
||||
//view is customized with same distributions templates
|
||||
return $this->Customise($appliance)->renderWith(array('DistributionsDirectoryPage_implementation','DistributionsDirectoryPage','MarketPlacePage'));
|
||||
$render = new ApplianceSapphirgit eRender($appliance);
|
||||
return $render->draw();
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return $this->httpError(404, 'Sorry that Appliance could not be found!.');
|
||||
|
@ -144,12 +144,11 @@ final class PrivateCloudsDirectoryPage_Controller extends CloudsDirectoryPage_Co
|
||||
$slug = Convert::raw2sql($params["Slug"]);
|
||||
$query = new QueryObject();
|
||||
$query->addAddCondition(QueryCriteria::equal('Slug',$slug));
|
||||
$public_cloud = $this->cloud_repository->getBy($query);
|
||||
if(!$public_cloud) throw new NotFoundEntityException('','');
|
||||
if($public_cloud->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/cloud.page.js");
|
||||
return $this->Customise($public_cloud)->renderWith(array('CloudsDirectoryPage_cloud','PrivateCloudsDirectoryPage','MarketPlacePage'));
|
||||
$private_cloud = $this->cloud_repository->getBy($query);
|
||||
if(!$private_cloud) throw new NotFoundEntityException('','');
|
||||
if($private_cloud->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
$render = new PrivateCloudSapphireRender($private_cloud);
|
||||
return $render->draw();
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return $this->httpError(404, 'Sorry that Private Cloud could not be found!.');
|
||||
|
@ -149,9 +149,8 @@ class PublicCloudsDirectoryPage_Controller extends CloudsDirectoryPage_Controlle
|
||||
$public_cloud = $this->cloud_repository->getBy($query);
|
||||
if(!$public_cloud) throw new NotFoundEntityException('','');
|
||||
if($public_cloud->getCompany()->URLSegment != $company_url_segment) throw new NotFoundEntityException('','');
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/cloud.page.js");
|
||||
return $this->Customise($public_cloud)->renderWith(array('CloudsDirectoryPage_cloud','PublicCloudsDirectoryPage','MarketPlacePage'));
|
||||
$render = new PublicCloudSapphireRender($public_cloud);
|
||||
return $render->draw();
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
return $this->httpError(404, 'Sorry that Public Cloud could not be found!.');
|
||||
|
52
marketplace/code/ui/frontend/view_models/CloudViewModel.php
Normal file
52
marketplace/code/ui/frontend/view_models/CloudViewModel.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class CloudViewModel
|
||||
*/
|
||||
final class CloudViewModel {
|
||||
|
||||
public static function getDataCenterLocationsJson(ICloudService $cloud){
|
||||
$locations = array();
|
||||
foreach($cloud->getDataCentersLocations() as $location){
|
||||
$json_data = array();
|
||||
$json_data['country'] = Geoip::countryCode2name($location->getCountry());
|
||||
$json_data['city'] = $location->getCity();
|
||||
$json_data['lat'] = $location->getLat();
|
||||
$json_data['lng'] = $location->getLng();
|
||||
$json_data['color'] = $location->getDataCenterRegion()->getColor();
|
||||
$json_data['endpoint'] = $location->getDataCenterRegion()->getEndpoint();
|
||||
$json_data['zone'] = $location->getDataCenterRegion()->getName();
|
||||
$json_data['availability_zones'] = array();
|
||||
$json_data['product_name'] = $cloud->getName();
|
||||
$json_data['owner'] = $cloud->getCompany()->getName();
|
||||
foreach($location->getAvailabilityZones() as $az ){
|
||||
$json_data_az = array();
|
||||
$json_data_az['name'] = $az->getName();
|
||||
array_push($json_data['availability_zones'],$json_data_az);
|
||||
}
|
||||
array_push($locations,$json_data);
|
||||
}
|
||||
return json_encode($locations);
|
||||
}
|
||||
|
||||
public static function getPricingSchemas(){
|
||||
$pricing_schema_repository = new SapphirePricingSchemaRepository;
|
||||
list($list,$size ) = $pricing_schemas = $pricing_schema_repository->getAll(new QueryObject(),0,1000);
|
||||
return new ArrayList($list);
|
||||
}
|
||||
|
||||
public static function getEnabledPricingSchemas(ICloudService $cloud){
|
||||
$res = array();
|
||||
if(count($cloud->getCapabilities())>0){
|
||||
$capabilities = $cloud->getCapabilities();
|
||||
$enabled_pricing_schemas = reset($capabilities)->getPricingSchemas();
|
||||
if(count($enabled_pricing_schemas)>0){
|
||||
foreach($enabled_pricing_schemas as $ps){
|
||||
array_push($res,$ps->getIdentifier());
|
||||
}
|
||||
}
|
||||
}
|
||||
return json_encode($res);
|
||||
}
|
||||
|
||||
}
|
23
marketplace/code/ui/utils/ApplianceSapphireRender.php
Normal file
23
marketplace/code/ui/utils/ApplianceSapphireRender.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class ApplianceSapphireRender
|
||||
*/
|
||||
final class ApplianceSapphireRender {
|
||||
|
||||
/**
|
||||
* @var IAppliance
|
||||
*/
|
||||
private $appliance;
|
||||
|
||||
public function __construct(IAppliance $appliance){
|
||||
$this->appliance = $appliance;
|
||||
}
|
||||
|
||||
public function draw(){
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/implementation.page.js");
|
||||
Requirements::css("marketplace/code/ui/frontend/css/marketplace.css");
|
||||
return Controller::curr()->Customise($this->appliance)->renderWith(array('DistributionsDirectoryPage_implementation', 'DistributionsDirectoryPage', 'MarketPlacePage'));
|
||||
}
|
||||
}
|
45
marketplace/code/ui/utils/ConsultantSapphireRender.php
Normal file
45
marketplace/code/ui/utils/ConsultantSapphireRender.php
Normal file
@ -0,0 +1,45 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class ConsultantSapphireRender
|
||||
*/
|
||||
final class ConsultantSapphireRender {
|
||||
|
||||
/**
|
||||
* @var IConsultant
|
||||
*/
|
||||
private $consultant;
|
||||
|
||||
/**
|
||||
* @var IEntityRepository
|
||||
*/
|
||||
private $region_repository;
|
||||
|
||||
public function __construct(IConsultant $consultant){
|
||||
$this->consultant = $consultant;
|
||||
$this->region_repository = new SapphireRegionRepository;
|
||||
}
|
||||
|
||||
public function draw(){
|
||||
Requirements::css("marketplace/code/ui/frontend/css/marketplace.css");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/consultant.page.js");
|
||||
$services = $this->consultant->getServicesOffered();
|
||||
$unique_services = array();
|
||||
$unique_regions = array();
|
||||
foreach ($services as $service) {
|
||||
if (!array_key_exists($service->getType(), $unique_services))
|
||||
$unique_services[$service->getType()] = $service;
|
||||
if (!array_key_exists($service->getRegionID(), $unique_regions)) {
|
||||
$region = $this->region_repository->getById($service->getRegionID());
|
||||
$unique_regions[$service->getRegionID()] = $region;
|
||||
}
|
||||
}
|
||||
return Controller::curr()->Customise(
|
||||
array(
|
||||
'Consultant' => $this->consultant,
|
||||
'Services' => new ArrayList(array_values($unique_services)),
|
||||
'Regions' => new ArrayList(array_values($unique_regions)),
|
||||
)
|
||||
)->renderWith(array('ConsultantsDirectoryPage_consultant', 'ConsultantsDirectoryPage', 'MarketPlacePage'));
|
||||
}
|
||||
}
|
23
marketplace/code/ui/utils/DistributionSapphireRender.php
Normal file
23
marketplace/code/ui/utils/DistributionSapphireRender.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class DistributionSapphireRender
|
||||
*/
|
||||
final class DistributionSapphireRender {
|
||||
|
||||
/**
|
||||
* @var IDistribution
|
||||
*/
|
||||
private $distribution;
|
||||
|
||||
public function __construct(IDistribution $distribution){
|
||||
$this->distribution = $distribution;
|
||||
}
|
||||
|
||||
public function draw(){
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/implementation.page.js");
|
||||
Requirements::css("marketplace/code/ui/frontend/css/marketplace.css");
|
||||
return Controller::curr()->Customise($this->distribution )->renderWith(array('DistributionsDirectoryPage_implementation', 'DistributionsDirectoryPage', 'MarketPlacePage'));
|
||||
}
|
||||
}
|
30
marketplace/code/ui/utils/PrivateCloudSapphireRender.php
Normal file
30
marketplace/code/ui/utils/PrivateCloudSapphireRender.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* Class PrivateCloudSapphireRender
|
||||
*/
|
||||
final class PrivateCloudSapphireRender {
|
||||
|
||||
/**
|
||||
* @var IPrivateCloudService
|
||||
*/
|
||||
private $cloud;
|
||||
|
||||
public function __construct(IPrivateCloudService $cloud){
|
||||
$this->cloud = $cloud;
|
||||
}
|
||||
|
||||
public function draw(){
|
||||
Requirements::css("marketplace/code/ui/frontend/css/marketplace.css");
|
||||
Requirements::javascript(Director::protocol() . "maps.googleapis.com/maps/api/js?sensor=false");
|
||||
Requirements::javascript("marketplace/code/ui/admin/js/utils.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/markerclusterer.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/oms.min.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/infobubble-compiled.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/google.maps.jquery.js");
|
||||
Requirements::javascript("themes/openstack/javascript/chosen.jquery.min.js");
|
||||
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/cloud.page.js");
|
||||
return Controller::curr()->Customise($this->cloud)->renderWith(array('CloudsDirectoryPage_cloud', 'PrivateCloudsDirectoryPage', 'MarketPlacePage'));
|
||||
}
|
||||
}
|
30
marketplace/code/ui/utils/PublicCloudSapphireRender.php
Normal file
30
marketplace/code/ui/utils/PublicCloudSapphireRender.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Class PublicCloudSapphireRender
|
||||
*/
|
||||
final class PublicCloudSapphireRender {
|
||||
|
||||
/**
|
||||
* @var IPublicCloudService
|
||||
*/
|
||||
private $cloud;
|
||||
|
||||
public function __construct(IPublicCloudService $cloud){
|
||||
$this->cloud = $cloud;
|
||||
}
|
||||
|
||||
public function draw(){
|
||||
Requirements::css("marketplace/code/ui/frontend/css/marketplace.css");
|
||||
Requirements::javascript(Director::protocol() . "maps.googleapis.com/maps/api/js?sensor=false");
|
||||
Requirements::javascript("marketplace/code/ui/admin/js/utils.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/markerclusterer.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/oms.min.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/infobubble-compiled.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/google.maps.jquery.js");
|
||||
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/openstack.implementation.capabilities.js");
|
||||
Requirements::javascript("marketplace/code/ui/frontend/js/cloud.page.js");
|
||||
return Controller::curr()->Customise($this->cloud)->renderWith(array('CloudsDirectoryPage_cloud', 'PublicCloudsDirectoryPage', 'MarketPlacePage'));
|
||||
}
|
||||
}
|
@ -129,7 +129,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% if IsPreview %>
|
||||
<% include MarketPlaceDirectoryPage_Rating_Placeholder %>
|
||||
<% else %>
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% end_if %>
|
||||
<% if Videos %>
|
||||
<div id="videos">
|
||||
<% loop Videos %>
|
||||
|
@ -99,7 +99,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% if IsPreview %>
|
||||
<% include MarketPlaceDirectoryPage_Rating_Placeholder %>
|
||||
<% else %>
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% end_if %>
|
||||
<% if Videos %>
|
||||
<div id="videos">
|
||||
<% loop Videos %>
|
||||
|
@ -77,7 +77,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6">
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% if IsPreview %>
|
||||
<% include MarketPlaceDirectoryPage_Rating_Placeholder %>
|
||||
<% else %>
|
||||
<% include MarketPlaceDirectoryPage_Rating %>
|
||||
<% end_if %>
|
||||
<% if Videos %>
|
||||
<div id="videos">
|
||||
<% loop Videos %>
|
||||
@ -99,7 +103,6 @@
|
||||
</ul>
|
||||
</div>
|
||||
<% end_if %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -76,6 +76,7 @@
|
||||
<% end_if %>
|
||||
<td style="min-width: 200px" width="30%">
|
||||
<a class="product-button roundedButton addDeploymentBtn" href="$Top.Link(consultant)?id=$ID">Edit Product Details</a>
|
||||
<a target="_blank" class="product-button roundedButton addDeploymentBtn" href="$Top.Link(consultant)/$ID/preview">Preview Product</a>
|
||||
<a class="roundedButton delete-consultant product-button addDeploymentBtn" href="#" data-id="{$ID}">Delete Product</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -91,6 +91,7 @@
|
||||
<% end_if %>
|
||||
<td style="min-width: 200px" width="30%">
|
||||
<a class="product-button roundedButton addDeploymentBtn" href="<% with MarketPlace %><% if Name == "Appliance" %>$Top.Link(appliance)<% end_if %><% if Name == "Distribution" %>$Top.Link(distribution)<% end_if %><% end_with %>?id=$ID">Edit Product Details</a>
|
||||
<a target="_blank" class="product-button roundedButton addDeploymentBtn" href="<% with MarketPlace %><% if Name == "Appliance" %>$Top.Link(appliance)<% end_if %><% if Name == "Distribution" %>$Top.Link(distribution)<% end_if %><% end_with %>/$ID/preview">Preview Product</a>
|
||||
<a class="roundedButton delete-implementation product-button addDeploymentBtn" href="#"
|
||||
data-id="{$ID}"
|
||||
data-class="<% with MarketPlace %><% if Name == "Appliance" %>appliance<% end_if %><% if Name == "Distribution" %>distribution<% end_if %><% end_with %>">Delete Product</a>
|
||||
|
@ -76,6 +76,7 @@
|
||||
<% end_if %>
|
||||
<td style="min-width: 200px" width="30%">
|
||||
<a class="product-button roundedButton addDeploymentBtn" href="$Top.Link(private_cloud)?id=$ID">Edit Product Details</a>
|
||||
<a target="_blank" class="product-button roundedButton addDeploymentBtn" href="$Top.Link(private_cloud)/$ID/preview">Preview Product</a>
|
||||
<a class="roundedButton delete-private-cloud product-button addDeploymentBtn" href="#" data-id="{$ID}">Delete Product</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -76,6 +76,7 @@
|
||||
<% end_if %>
|
||||
<td style="min-width: 200px" width="30%">
|
||||
<a class="product-button roundedButton addDeploymentBtn" href="$Top.Link(public_cloud)?id=$ID">Edit Product Details</a>
|
||||
<a target="_blank" class="product-button roundedButton addDeploymentBtn" href="$Top.Link(public_cloud)/$ID/preview">Preview Product</a>
|
||||
<a class="roundedButton delete-public-cloud product-button addDeploymentBtn" href="#" data-id="{$ID}">Delete Product</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -0,0 +1,8 @@
|
||||
<div id="reviews" style="min-height: 400px;">
|
||||
<h3 style="color: #{$Company.CompanyColor} !important;">Reviews</h3>
|
||||
<p>* No Reviews available on preview mode.</p>
|
||||
<!--This script should be places anywhere on a page you want to see rating box-->
|
||||
<div style='font-size:10px'>Powered by <a href="http://www.rating-system.com" target="_blank" title="Ratings and Reviews are powered by Rating-System.com">Rating-System.com</a>
|
||||
</div>
|
||||
<!-- DO NOT REMOVE THE LAST LINE, please contact us first if you need to do it -->
|
||||
</div>
|
@ -3,6 +3,9 @@
|
||||
<div style="clear:both">
|
||||
<h1 style="width:50%;float:left;">Appliances - Product Details</h1>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center" class="roundedButton save-appliance" href="#" id="save-appliance">Save</a>
|
||||
<% if CurrentAppliance %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" target="_blank" href="$Top.Link(appliance)/$CurrentAppliance.ID/preview">Preview</a>
|
||||
<% end_if %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" href="$Top.Link"><< Back to Products</a>
|
||||
</div>
|
||||
<div style="clear:both">
|
||||
|
@ -3,6 +3,9 @@
|
||||
<div style="clear:both">
|
||||
<h1 style="width:50%;float:left;">Consultant - Product Details</h1>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center" class="roundedButton save-consultant" href="#" id="save-consultant" name="save-consultant">Save</a>
|
||||
<% if CurrentConsultant %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" target="_blank" href="$Top.Link(consultant)/$CurrentConsultant.ID/preview">Preview</a>
|
||||
<% end_if %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" href="$Top.Link(consultants)"><< Back to Products</a>
|
||||
</div>
|
||||
<div style="clear:both">
|
||||
|
@ -3,6 +3,9 @@
|
||||
<div style="clear:both">
|
||||
<h1 style="width:50%;float:left;">Distribution - Product Details</h1>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center" class="roundedButton save-distribution" href="#" id="save-distribution">Save</a>
|
||||
<% if CurrentDistribution %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" target="_blank" href="$Top.Link(distribution)/$CurrentDistribution.ID/preview">Preview</a>
|
||||
<% end_if %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" href="$Top.Link"><< Back to Products</a>
|
||||
</div>
|
||||
<div style="clear:both">
|
||||
|
@ -3,6 +3,9 @@
|
||||
<div style="clear:both">
|
||||
<h1 style="width:50%;float:left;">Private Cloud - Product Details</h1>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center" class="roundedButton save-private-cloud" href="#" id="save-private-cloud1">Save</a>
|
||||
<% if CurrentPrivateCloud %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" target="_blank" href="$Top.Link(private_cloud)/$CurrentPrivateCloud.ID/preview">Preview</a>
|
||||
<% end_if %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" href="$Top.Link(private_clouds)"><< Back to Products</a>
|
||||
</div>
|
||||
<div style="clear:both">
|
||||
|
@ -3,6 +3,9 @@
|
||||
<div style="clear:both">
|
||||
<h1 style="width:50%;float:left;">Public Cloud - Product Details</h1>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center" class="roundedButton save-public-cloud" href="#" id="save-public-cloud1">Save</a>
|
||||
<% if CurrentPublicCloud %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" target="_blank" href="$Top.Link(public_cloud)/$CurrentPublicCloud.ID/preview">Preview</a>
|
||||
<% end_if %>
|
||||
<a style="overflow:hidden;white-space: nowrap;font-weight:normal;float:right;margin-bottom:50px;text-align:center;margin-right:50px;" class="roundedButton addDeploymentBtn" href="$Top.Link(public_clouds)"><< Back to Products</a>
|
||||
</div>
|
||||
<div style="clear:both">
|
||||
|
@ -18,18 +18,12 @@
|
||||
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300,400,700' rel='stylesheet' type='text/css'>
|
||||
|
||||
<!-- Framework CSS -->
|
||||
<% if BootstrapConverted %>
|
||||
<% else %>
|
||||
<link rel="stylesheet" href="/themes/openstack/css/blueprint/screen.css" type="text/css" media="screen, projection">
|
||||
<% end_if %>
|
||||
|
||||
<link rel="stylesheet" href="/themes/openstack/css/bootstrap.min.css" type="text/css" media="screen, projection">
|
||||
|
||||
|
||||
<!-- OpenStack Specific CSS -->
|
||||
<% if BootstrapConverted %>
|
||||
<% else %>
|
||||
<link href="/themes/openstack/css/main.css" rel="stylesheet">
|
||||
<% end_if %>
|
||||
|
||||
<link href="/themes/openstack/css/combined.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="/themes/openstack/css/dropdown.css" type="text/css" media="screen, projection, print">
|
||||
|
||||
@ -49,22 +43,13 @@
|
||||
<% include Navigation %>
|
||||
|
||||
<!-- Page Content -->
|
||||
<% if BootstrapConverted %>
|
||||
|
||||
<div class="container">
|
||||
<% include MarketPlaceFrontendNav %>
|
||||
</div>
|
||||
$Message
|
||||
$Layout
|
||||
$Form
|
||||
<% else %>
|
||||
<div class="container">
|
||||
<% include MarketPlaceFrontendNav %>
|
||||
$Message
|
||||
$Layout
|
||||
$Form
|
||||
</div>
|
||||
<% end_if %>
|
||||
|
||||
|
||||
<% include Footer %>
|
||||
<% include Quantcast %>
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div stlye="display:block;clear:both">
|
||||
<h1>Set Category for Sponsors</h1>
|
||||
<% if SponsorsApproved %>
|
||||
<% control SponsorsApproved %>
|
||||
<% loop SponsorsApproved %>
|
||||
<ul>
|
||||
<li><h2>$CompanyName</h2>
|
||||
<form method="POST" action="/sangria/SetSponsorMarketplaces">
|
||||
@ -11,6 +11,6 @@
|
||||
</form>
|
||||
</li>
|
||||
</ul>
|
||||
<% end_control %>
|
||||
<% end_loop %>
|
||||
<% end_if %>
|
||||
</div>
|
||||
|
@ -1,11 +1,11 @@
|
||||
<div stlye="display:block;clear:both">
|
||||
<h1>Sponsor Requests</h1>
|
||||
<% if SponsorsRequest %>
|
||||
<% control SponsorsRequest %>
|
||||
<% loop SponsorsRequest %>
|
||||
<ul>
|
||||
<li>$CompanyName</li>
|
||||
<li><a href="sangria/SponsorApprove?sponsor_id=$ID">Approve or Reject</a></li>
|
||||
</ul>
|
||||
<% end_control %>
|
||||
<% end_loop %>
|
||||
<% end_if %>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user