* 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:
Sebastian Marcet 2014-10-15 11:01:53 -05:00
parent 8bdc2099c8
commit 0d49a5b6cb
28 changed files with 670 additions and 350 deletions

File diff suppressed because it is too large Load Diff

View File

@ -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(){

View File

@ -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!.');

View File

@ -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!.');

View File

@ -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!.');

View File

@ -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!.');

View 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);
}
}

View 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'));
}
}

View 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'));
}
}

View 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'));
}
}

View 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'));
}
}

View 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'));
}
}

View File

@ -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 %>

View File

@ -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 %>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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">&lt;&lt; Back to Products</a>
</div>
<div style="clear:both">

View File

@ -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)">&lt;&lt; Back to Products</a>
</div>
<div style="clear:both">

View File

@ -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">&lt;&lt; Back to Products</a>
</div>
<div style="clear:both">

View File

@ -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)">&lt;&lt; Back to Products</a>
</div>
<div style="clear:both">

View File

@ -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)">&lt;&lt; Back to Products</a>
</div>
<div style="clear:both">

View File

@ -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 %>

View File

@ -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>

View File

@ -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>