Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ services:
SERVICE_TAGS: dev
SERVICE_NAME: mysql
healthcheck:
test: mysql -u ${SS_DB_USERNAME} --password=${SS_DB_PASSWORD} ${SS_DATABASE} -e 'SHOW TABLES;' | [ $(wc -l) -gt 885 ]
test: mysql -u ${SS_DB_USERNAME} --password=${SS_DB_PASSWORD} ${SS_DATABASE} -e 'SHOW TABLES;' | [ $(wc -l) -gt 300 ]
interval: 60s
timeout: 10s
timeout: 60s
retries: 60
start_period: 60s
start_period: 10s
volumes:
- ./docker-compose/mysql/model:/docker-entrypoint-initdb.d
- /tmp/mysql/www-openstack/model:/var/lib/mysql
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ final class FoundationMember
(
'ShowDupesOnProfile' => "Boolean",
'ResignDate' => 'SS_Datetime',
'IndividualMemberJoinDate' => 'SS_Datetime',
);

private static $has_many = array
Expand Down Expand Up @@ -66,6 +67,7 @@ public function resign()
}
$this->owner->MembershipType = IOpenStackMember::MembershipTypeCommunity;
$this->owner->ResignDate = CustomMySQLDatabase::nowRfc2822();
$this->owner->IndividualMemberJoinDate = null;
}

public function onBeforeDelete()
Expand Down Expand Up @@ -97,6 +99,7 @@ public function upgradeToFoundationMember()
$legalAgreement->write();
$this->owner->MembershipType = IOpenStackMember::MembershipTypeFoundation;
$this->owner->ResignDate = null;
$this->owner->IndividualMemberJoinDate = null;
$this->owner->write();
return true;
}
Expand Down Expand Up @@ -130,6 +133,11 @@ public function isCommunityMember()
return $group || $this->isSpeaker() || $is_foundation_member;
}

public function isIndividualMember():bool
{
return $this->owner->MembershipType == IOpenStackMember::MembershipTypeIndividual;
}

/**
* @return bool
*/
Expand Down
2 changes: 1 addition & 1 deletion elections/templates/Layout/EditProfilePage_election.ss
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<% require themedCSS(profile-section) %>
<h1>$Title</h1>
<% if CurrentMember.isFoundationMember %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>

<% include ProfileNav %>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ class MemberDeleted extends DataObject
'Email' => 'Varchar(254)',
'OriginalID' => 'Int',
'FromUrl' => 'Text',
'MembershipType' => "Enum('Foundation,Community,None', 'None')",
'MembershipType' => "Enum('Foundation,Community,None,Individual', 'None')",
];
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class OpenStackMember
'ThirdEmail' => 'Varchar(254)', // See RFC 5321, Section 4.5.3.1.3. (256 minus the < and > character)
'HasBeenEmailed' => 'Boolean',
'ShirtSize' => "Enum('Extra Small, Small, Medium, Large, XL, XXL')",
'MembershipType' => "Enum('Foundation,Community,None', 'None')",
'MembershipType' => "Enum('Foundation,Community,None,Individual', 'None')",
'StatementOfInterest' => 'Text',
'Bio' => 'HTMLText',
'FoodPreference' => 'Text',
Expand Down
2 changes: 2 additions & 0 deletions registration/code/model/IOpenStackMember.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ interface IOpenStackMember

const MembershipTypeCommunity = 'Community';

const MembershipTypeIndividual = 'Individual';

const MembershipTypeNone = 'None';
/**
* @return string
Expand Down
3 changes: 3 additions & 0 deletions registration/code/model/MemberManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,9 @@ public function registerByClaims($claims): Member
if($member->isFoundationMember()){
$membershipType = IOpenStackMember::MembershipTypeFoundation;
}
else if($member->isIndividualMember()){
$membershipType = IOpenStackMember::MembershipTypeIndividual;
}
else if($member->isCommunityMember()){
$membershipType = IOpenStackMember::MembershipTypeCommunity;
}
Expand Down
5 changes: 5 additions & 0 deletions registration/code/ui/EditProfilePage.php
Original file line number Diff line number Diff line change
Expand Up @@ -550,6 +550,11 @@ public function ResignUrl()
return $this->Link('resign');
}

public function RenewMembershipUrl()
{
return 'https://deploy-preview-669--openinfra-dev.netlify.app/a/renew-membership';
}

public function downgrade2communitymember()
{
$CurrentMember = Member::currentUser();
Expand Down
2 changes: 1 addition & 1 deletion registration/templates/Layout/EditProfilePage.ss
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ $SetCurrentTab(1)
</div>
<% end_if %>
$getRenderUITopExtensions
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>
<div class="profile-appearance">See how your <a href="/community/members/profile/{$CurrentMember.ID}/{$CurrentMember.NameSlug}">public profile</a> appears.</div>
$EditProfileForm
Expand Down
2 changes: 1 addition & 1 deletion registration/templates/Layout/EditProfilePage_Training.ss
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<% require themedCSS(profile-section) %>
<h1>$Title</h1>
<% if CurrentMember %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>
<% if CurrentMember.isTrainingAdmin %>
<form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<% require themedCSS(profile-section) %>
<h1>$Title</h1>
<% if CurrentMember %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>
<% if CurrentMember.isTrainingAdmin %>
$AddTrainingCourseForm
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@


<% end_if %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>

<form><fieldset>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<h1>Downgrade To Community Member</h1>
<% if CurrentMember %>
<p>If you select this option, you will be revoking your right to vote in elections and to commit code to OpenStack via Gerrit. Additionally, any administrative rights to the Marketplace Admin or Company Admin will be revoked.</p>
<p>If you select this option, you will be revoking your right to vote and run in elections.</p>
<p><a href="{$Top.Link}downgrade2communitymember/?confirmed=1" class="roundedButton">Yes, Agree</a> &nbsp; <a
href="{$Top.Link}" class="roundedButton">Cancel</a></p>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<% require themedCSS(profile-section) %>
<h1>$Title</h1>
<% if CurrentMember %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>
<% if CurrentMember.isMarketPlaceAdmin %>
<fieldset>
Expand Down
3 changes: 1 addition & 2 deletions registration/templates/Layout/EditProfilePage_speaker.ss
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,11 @@
<h1>$Title</h1>
<% if CurrentMember %>
<% if Saved %>

<div class="span-24 last siteMessage" id="SuccessMessage">
<p>Your Profile has been saved!</p>
</div>
<% end_if %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl %>
<% include CurrentUserInfoBox LogOutLink=$Top.LogoutUrl, ResignLink=$Top.ResignUrl, RenewLink=$Top.RenewMembershipUrl %>
<% include ProfileNav %>
$EditSpeakerProfileForm
<% else %>
Expand Down
28 changes: 19 additions & 9 deletions registration/templates/Layout/Includes/CurrentUserInfoBox.ss
Original file line number Diff line number Diff line change
@@ -1,27 +1,37 @@
<div class="loggedInBox">
<div class="row">

<div class="col-md-6" style="height: 35px;line-height: 35px;"><span style="display:inline-block; vertical-align:middle;">You are logged in as: <strong>$CurrentMember.Name</strong></span></div>
<div class="col-md-6 text-right">
<a class="roundedButton" href="{$ResignLink}">Resign Membership</a>
<% if $CurrentMember.isFoundationMember %>
<% if not $CurrentMember.isIndividualMember %>
<a class="roundedButton" href="{$RenewLink}">Renew Membership</a>
<% end_if %>
<% if $CurrentMember.isIndividualMember %>
<a class="roundedButton downgrade-2-community-member" href="$Top.Link(downgrade2communitymember)">Change to Community Member</a>
<% else %>
<a class="roundedButton upgrade-2-foundation-member" href="$Top.Link(upgrade2foundationmember)">Make me a Foundation Member</a>
<% end_if %>
<a class="roundedButton" href="{$ResignLink}">Resign Membership</a>
</div>
</div>
<div class="row">
<% if $CurrentMember.isFoundationMember %>
<% if $CurrentMember.isIndividualMember %>
<div class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>OIF Individual Member</strong></span>
</div>
<% else_if $CurrentMember.isFoundationMember %>
<div class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>Foundation Member</strong></span>
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>Foundation Member</strong>&nbsp;<a href="{$RenewLink}">(Renew your Membership)</a></span>
</div>
<% else_if $CurrentMember.isSpeaker %>
<div c class="col-md-12" style="height: 35px;line-height: 35px;">
<div class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>Speaker</strong></span>
</div>
<% else_if $CurrentMember.isCommunityMember %>
<div c class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>Community Member</strong></span>
<div class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>Community Member</strong>&nbsp;<a href="{$RenewLink}">(Renew your Membership)</a></span>
</div>
<% else_if $CurrentMember.isIndividualMember %>
<div class="col-md-12" style="height: 35px;line-height: 35px;">
<span style="display:inline-block; vertical-align:middle;">Current Member Level: <strong>OIF Individual Member</strong></span>
</div>
<% end_if %>
</div>
Expand Down
1 change: 0 additions & 1 deletion registration/templates/Layout/Includes/ProfileNav.ss
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
$NavMessageExtensions
<h2 class="profile-tabs">
<a href="{$Link}" <% if CurrentTab=1 %>class="active"<% end_if %> >Your Details</a>
<a href="{$Link}agreements" <% if CurrentTab=3 %>class="active"<% end_if %> >Legal Agreements</a>
<% if CurrentMember.isTrainingAdmin %>
<a href="{$Link}training" <% if CurrentTab=4 %>class="active"<% end_if %> >Training</a>
<% end_if %>
Expand Down
1 change: 1 addition & 0 deletions start_local_server.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash
set -e
export DOCKER_SCAN_SUGGEST=false
export BUILDX_NO_DEFAULT_ATTESTATIONS=0
docker compose run --rm app composer install
docker compose run --rm app ./framework/sake installsake;
docker compose run --rm app yarn install
Expand Down