Compare commits

..

No commits in common. "master" and "test" have entirely different histories.
master ... test

42 changed files with 182 additions and 13370 deletions

Binary file not shown.

13055
Client/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -21,7 +21,6 @@ import { VideoServicesComponent } from './components/video-services/video-servic
import { ImageComponent } from './components/image/image.component';
import { VideoComponent } from './components/video/video.component';
import { FCCPermitPageComponent } from './components/fcc-permit-page/fcc-permit-page.component';
import { BalloonComponent } from './components/balloon/balloon.component';
const routes =
[
@ -116,10 +115,6 @@ const routes =
{
path: 'fmpermit',
component: FCCPermitPageComponent
},
{
path: 'balloon',
component: BalloonComponent
}
]

View File

@ -54,7 +54,6 @@ import { SalvationPageComponent } from './components/salvation-page/salvation-pa
import { MediaPageComponent } from './components/media-page/media-page.component';
import { VideoPopupComponent } from './components/popups/video-popup/video-popup.component';
import { FCCPermitPageComponent } from './components/fcc-permit-page/fcc-permit-page.component';
import { BalloonComponent } from './components/balloon/balloon.component';
//Directives
import { FadeInOnScrollDirective } from './directives/fade-in-on-scroll.directive';
@ -89,7 +88,6 @@ import { YoutubePopupComponent } from './components/popups/youtube-popup/youtube
@NgModule({
declarations: [
AppComponent,
@ -131,7 +129,6 @@ import { YoutubePopupComponent } from './components/popups/youtube-popup/youtube
CampPageComponent,
MembersPageComponent,
FCCPermitPageComponent,
BalloonComponent,
AddUserPopupComponent,
AddTransactionPageComponent,
AddTransactionPopupComponent,

View File

@ -14,7 +14,6 @@
</mat-option>
</mat-autocomplete>
</mat-form-field>
<button mat-button class="m-5" type="button" (click)="addUser()">Add</button>
<br>
<mat-form-field class="w-50">
<mat-select formControlName="typeId">

View File

@ -1,9 +1,8 @@
import { Component, OnInit, Inject } from '@angular/core';
import { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef, MatDialog } from '@angular/material';
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material';
import { contributorValidator } from '../contributor-validator';
import { Transaction } from '../transaction';
import { AddUserPopupComponent } from '../../popups/add-user-popup/add-user-popup.component';
export interface ValDisplay {
value: number;
@ -42,7 +41,7 @@ export class AddTransactionPopupComponent implements OnInit {
funds: ValDisplay[];
types: ValDisplay[];
constructor(private dialogService: MatDialog, private formBuilder: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: DialogData, private dialogRef:MatDialogRef<AddTransactionPopupComponent>) {
constructor(private formBuilder: FormBuilder, @Inject(MAT_DIALOG_DATA) public data: DialogData, private dialogRef:MatDialogRef<AddTransactionPopupComponent>) {
this.contributors = this.data.contributors || [];
this.funds = this.data.funds || [];
this.types = this.data.types || [];
@ -102,19 +101,4 @@ export class AddTransactionPopupComponent implements OnInit {
this.dialogRef.close();
}
addUser() {
const ref = this.dialogService.open(AddUserPopupComponent);
ref.afterClosed().subscribe((res: any) => {
if (res && res.id > 0) {
this.contributors.push({ value: res.id, display: res.lastName + ' ' + res.firstName });
let contrib = this.contributors.find(c => c.value === res.id);
this.form.get("contributor").setValue(contrib);
}
});
}
}

View File

@ -27,9 +27,8 @@
</a>
<p><a href="tel:+1-406-494-5028" class="phone">(406) 494 - 5028</a></p>
<p>Pastor Derek Loewen</p>
<br>
<p>Pastor Emeritus Ron Derksen</p>
</div>
<div id="footer-services-content" class="footer-panel">
<p>Sunday School: 10AM</p>
<p>Sunday Worship: 11AM</p>
@ -41,7 +40,7 @@
<p><i ofbicon class="copyright">copyright</i> Copyright {{copyrightYear}}</p>
<p>Old Fashion Baptist</p>
<p><a routerLink="/home">ofbbutte.com</a></p>
<p><a href="https://publicfiles.fcc.gov/fm-profile/KFGL" target="_blank">KFGL Public Information File</a></p>
<p>Powered by God</p>
<br>
</div>
</div>

View File

@ -1,23 +0,0 @@
.full-width{
width: 100%;
}
.hide{
display: none;
}
.bold {
font-weight: bold;
}
.margin-top-space {
margin-top: 20px;
}
.errorMessages{
color: white;
background-color: rgb(255,90,90);
padding: 10px;
border-radius: 3px;
margin-bottom: 5px;
}

View File

@ -1,49 +0,0 @@
<secondary-page-component [hideSideBarOnMobile]="true" >
<div mainContent>
<br>
<p class="bold">
We are so glad you found one of our balloons. We would love to hear from you
and where you found it!
</p>
<p class="margin-top-space">
Click <a routerLink="/whoweare">here</a> to learn more about us.
</p>
<p class="margin-top-space">
Click <a routerLink="/salvation">here</a> to learn more about <span class="bold">Jesus</span>.
</p>
<br>
<div *ngIf="!formSubmitted">
<form class="form" #contactForm="ngForm" (ngSubmit)="onSubmit()">
<mat-form-field class="full-width">
<input matInput type="text" placeholder="Name" required value="" [(ngModel)]="name" name="name" >
</mat-form-field>
<mat-form-field class="full-width">
<input matInput type="text" placeholder="City, State" required value="" [(ngModel)]="location" name="location" >
</mat-form-field>
<mat-form-field class="full-width">
<input matInput type="email" placeholder="Email" value="" [(ngModel)]="email" name="email" pattern="^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$">
</mat-form-field>
<mat-form-field class="full-width">
<input matInput type="tel" placeholder="Phone" value="" [(ngModel)]="phone" name="phone">
</mat-form-field>
<mat-form-field class="full-width">
<textarea matInput type="text" placeholder="Other Information or Questions" value="" [(ngModel)]="body" name="body" rows="5" ></textarea>
</mat-form-field>
<mat-form-field class="hide">
<input matInput type="text" placeholder="hp" required value="" [(ngModel)]="hp" name="subject">
</mat-form-field>
<div class="errorMessages" *ngIf="errorMessages.length > 0">
<p *ngFor="let error of errorMessages">{{error}}</p>
</div>
<button mat-raised-button type="submit" [disabled]="!contactForm.form.valid || submitButtonDisabled">{{submitButtonText}}</button>
</form>
</div>
<div *ngIf="formSubmitted">
<p><b>Thank You!</b></p>
<p>Your message has been sent.</p>
</div>
</div>
<div sideBar ofbFadeInOnScroll>
</div>
</secondary-page-component>

View File

@ -1,25 +0,0 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { BalloonComponent } from './balloon.component';
describe('BalloonComponent', () => {
let component: BalloonComponent;
let fixture: ComponentFixture<BalloonComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ BalloonComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(BalloonComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should be created', () => {
expect(component).toBeTruthy();
});
});

View File

@ -1,84 +0,0 @@
import { Router } from '@angular/router';
import { MatDialogConfig } from '@angular/material';
import { OkPopupComponent } from '../popups/ok-popup/ok-popup.component';
import { EmailService } from '../../services/email.service';
import { Component, OnInit } from '@angular/core';
import { MatDialog } from '@angular/material';
@Component({
selector: 'app-contact-page',
templateUrl: './balloon.component.html',
styleUrls: ['./balloon.component.css']
})
export class BalloonComponent implements OnInit {
public submitButtonText: string = "Submit";
public submitButtonDisabled: boolean = false;
public formSubmitted: boolean = false;
public name: string;
public email: string;
public location: string;
public phone: string;
public body: string;
public hp: string = ".";
public errorMessages: string[] = [];
constructor(private emailService: EmailService,
private MatDialog: MatDialog,
private router: Router) { }
ngOnInit() {
}
onSubmit(){
this.errorMessages = [];
if (this.name == null || this.name == ""){
this.errorMessages.push("Please enter a name");
}
if (this.location == null || this.location == ""){
this.errorMessages.push("Please enter a city and state");
}
if (this.errorMessages.length > 0){ return; }
const body = `Location of balloon: ${this.location}<br>${this.body || ''}`;
let email = this.email;
if (!email || email.length === 0) {
email = 'N/A';
}
this.submitButtonText = "Please Wait...";
this.submitButtonDisabled = true;
this.emailService.sendEmail(this.name,
email,
this.phone || '',
body,
this.hp)
.subscribe(
success => {this.emailSuccess();},
error => {this.emailError();});
}
private emailSuccess(){
let opts = new MatDialogConfig;
opts.data = { title:'Email Sent','message':'Thank You! Your message has been sent.' };
let popup = this.MatDialog.open(OkPopupComponent,opts);
this.submitButtonText = "Submit";
this.submitButtonDisabled = false;
popup.afterClosed().subscribe(()=>{
this.formSubmitted = true;
});
}
private emailError(){
console.error("error");
let opts = new MatDialogConfig;
opts.data = { title:'Email Error','message':'Please make sure that you have entered a valid email address.' };
let popup = this.MatDialog.open(OkPopupComponent,opts);
this.submitButtonText = "Submit";
this.submitButtonDisabled = false;
}
}

View File

@ -16,10 +16,7 @@ export class ContributorAllReportsComponent implements OnInit {
constructor(private printService: PrintService, private userService: UserService, private transactionService: TransactionService) { }
ngOnInit() {
const taxYear = 2024;
const query = forkJoin([this.userService.getAll(), this.transactionService.getByYear(taxYear), this.transactionService.getByYear(taxYear - 1)]);
const query = forkJoin([this.userService.getAll(), this.transactionService.getByYear(2020), this.transactionService.getByYear(2019)]);
query.subscribe(res => this.setup(res[0], res[1], res[2]));
@ -47,4 +44,5 @@ export class ContributorAllReportsComponent implements OnInit {
}
});
}
}

View File

@ -1,7 +1,7 @@
import { Component, OnInit, Input, ViewChild, ElementRef } from '@angular/core';
import { PrintService } from '../../services/print-service';
import { Transaction } from '../add-transaction-page/transaction';
import * as Chart from 'chart.js';
import * as Chart from 'chart.js';
import ChartDataLabels from 'chartjs-plugin-datalabels';
import { CurrencyPipe } from '@angular/common';
@ -34,11 +34,11 @@ export class ContributorYearlyReportComponent implements OnInit {
public contributorCity: string = 'Butte';
public contributorState: string = 'MT';
public contributorZip: string = '59701';
public taxYear: number = 2024;
public taxYear: number = 2020;
public rowsFirstPage: number = 11;
public rowsPerPage: number = 30;
public rowsFirstPage: number = 13;
public rowsPerPage: number = 31;
public get fillerRows(): number[] {
const rowsToFillPage = this.rowsFirstPage + ((this.pages - 2) * this.rowsPerPage);
const rowsNeeded = rowsToFillPage - this.transactions.length;

View File

@ -12,12 +12,3 @@ a{
a:visited{
color: inherit;
}
.break-word {
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-word;
}

View File

@ -5,7 +5,7 @@
On November 9, 2021, Old Fashion Baptist Church of Butte, applicant for a Noncommercial FM Radio Station on
88.1mhz, in Butte, MT, filed an application with the Federal Communications Commission for a new Noncommercial FM
Station. Members of the public wishing to view this application or obtain information about how to file comments and
petitions on the application can visit <a class="break-word" href="https://enterpriseefiling.fcc.gov/dataentry/views/public/nceDraftCopy?displayType=html&appKey=25076f917cce2f5b0
petitions on the application can visit <a href="https://enterpriseefiling.fcc.gov/dataentry/views/public/nceDraftCopy?displayType=html&appKey=25076f917cce2f5b0
17cd34cdd450dee&id=25076f917cce2f5b017cd34cdd450dee&goBack=N">https://enterpriseefiling.fcc.gov/dataentry/views/public/nceDraftCopy?displayType=html&appKey=25076f917cce2f5b0
17cd34cdd450dee&id=25076f917cce2f5b017cd34cdd450dee&goBack=N</a>.
</p>

View File

@ -7,22 +7,10 @@ a{
color: inherit;
}
a {
text-decoration: underline;
}
a:hover {
cursor: pointer;
}
a:visited{
color: inherit;
}
.bold {
font-weight: bold;
}
img{
width: 70%;

View File

@ -45,69 +45,51 @@
<img src="assets/images/home-images/tiny/VBS_small.jpg" style="width:75%; max-width: 350px; position: relative; z-index: 1; box-shadow: 0 0 20px pink;" >
</div>
<div class="row tint" *ngIf="showVGC" >
<div class="row-content">
<div class="row-content-col-left center">
<img style="max-height:500px" ofbFadeInOnScroll src="assets/images/original/VictoryGospelCrusade.png" height="500">
</div>
<div class="row tint" *ngIf="showSpecial" >
<div class="row-content">
<div class="row-content-col-right align-top">
<p ofbFadeInOnScroll class="row-content-header">Victory Gospel Crusade</p>
<br />
<p ofbFadeInOnScroll class="bold">
When
</p>
<p ofbFadeInOnScroll>
August 4 - 9 @ 7PM
<br />
August 11 - 15 @ 7 PM
</p>
<p ofbFadeInOnScroll class="row-content-header">Listen Online</p>
<p ofbFadeInOnScroll>
If you are unable to attend, please follow the link below to listen to services online.
</p>
<br>
<p ofbFadeInOnScroll class="bold">
Where
</p>
<p ofbFadeInOnScroll>
Behind Pizza Ranch
<br />
1839 Longfellow St, Butte, Mt
<br /><br />
<i ofbicon>directions</i> <a target="_blank" class="align-top" href="https://www.google.com/maps/place/1839+Longfellow+St,+Butte,+MT+59701/@45.9732501,-112.513401,17z/data=!3m1!4b1!4m6!3m5!1s0x535b07e062beaaf7:0x827616c9ef692eed!8m2!3d45.9732464!4d-112.5108261!16s%2Fg%2F11v03h9chf?entry=ttu">View Map</a>
</p>
<p ofbFadeInOnScroll class="action">
<i ofbicon>play_arrow</i> <a (click)="playVictoryGospelCrusade()" class="align-top">Click Here To Watch The Trailer</a>
</p>
</div>
<i ofbicon>headset</i> <a routerLink="/sermons" class="align-top">Click here to listen online</a>
</p>
</div>
<div class="row-content-col-left">
<a routerLink="/covid2" >
<img class="w-100pct" ofbFadeInOnScroll src="assets/images/home-images/tiny/covid_header_2.jpg" >
</a>
</div>
</div>
</div>
<div class="row" *ngIf="showSpecial" >
<div class="row tint" *ngIf="!showSpecial" >
<div class="row-content">
<div class="row-content-col-left center">
<img style="max-height:500px" ofbFadeInOnScroll src="assets/images/home-images/tiny/Cowboy Carnival.jpg" height="500">
<div class="row-content-col-left">
<a href="assets/images/champ_flyer.jpg" download="champ_flyer.jpg"><img class="full" ofbFadeInOnScroll src="assets/images/home-images/tiny/champ.jpg" height="300"></a>
</div>
<div class="row-content-col-right align-top center">
<p ofbFadeInOnScroll class="row-content-header">Cowboy Carnival</p>
<p ofbFadeInOnScroll class="row-content-header">Champ the Smiling Trick Horse</p>
<p ofbFadeInOnScroll>
Come join us for Ranger Walkers Wild West Cowboy Carnival!
Come join us for this special event happening September 5th and 6th at Old Fashion Baptist!
</p>
<br>
<p ofbFadeInOnScroll class="bold">
Family Fun
<p ofbFadeInOnScroll>
<b>Wednesday, September 5 @ 7 PM</b>
<br>
Bible Preaching & Bluegrass Gospel Music
</p>
<br>
<p ofbFadeInOnScroll class="bold">
Games
<p ofbFadeInOnScroll>
<b>Thursday, September 6 @ 5:30 PM</b>
<br>
Food, Games, Music & Preaching
</p>
<br>
<p ofbFadeInOnScroll class="bold">
Rides
</p>
<br>
<p ofbFadeInOnScroll class="bold">
Inflatables
</p>
<br>
<p ofbFadeInOnScroll style="font-size:1.25em;">
<b>Sunday, September 18 @ 11:00 AM</b>
<p ofbFadeInOnScroll>
<a href="assets/images/champ_flyer.jpg" download="champ_flyer.jpg"><b>Click here to download the flyer</b></a>
</p>
<br>
<p ofbFadeInOnScroll class="action">
@ -216,4 +198,16 @@
</div>
</div>
</div>
<div class="row tint">
<div class="row-content">
<div class="row-content-single-col">
<p ofbFadeInOnScroll class="verse">
<i ofbicon style="vertical-align: middle; font-size: 32px;">announcement</i>
&nbsp;
<a routerLink="/fmpermit">FCC Noncommercial FM Station Construction Permit (click for more information)</a>
</p>
</div>
</div>
</div>
</div>

View File

@ -5,7 +5,6 @@ import { environment } from '../../../environments/environment';
import { Countdown } from './countdown';
import { HttpClient } from '@angular/common/http';
import { VideoServices } from './video-services';
import { YoutubePopupComponent } from '../popups/youtube-popup/youtube-popup.component';
@Component({
selector: 'home-component',
@ -14,41 +13,20 @@ import { YoutubePopupComponent } from '../popups/youtube-popup/youtube-popup.com
})
export class HomeComponent {
backgroundTop: string = "0px";
public get showVGC() : boolean {
let maxDate = new Date(2024,7,15,11); // August 15th 2018 -- Set the month one month behind since JavaScript dates are 0 based
let now = new Date();
if (now.getFullYear() > maxDate.getFullYear()) return false;
if (now.getFullYear() == maxDate.getFullYear()) {
if (now.getMonth() > maxDate.getMonth()) return false;
if (now.getMonth() == maxDate.getMonth()) {
if (now.getDate() > maxDate.getDate()) return false;
if (now.getDate() == maxDate.getDate()) {
if (now.getHours() > maxDate.getHours()) return false;
}
}
}
return true;
}
public get showSpecial() : boolean {
return true; //COVID-19
let maxDate = new Date(2022,8,18,11); // September 18th 2018 -- Set the month one month behind since JavaScript dates are 0 based
let maxDate = new Date(2018,8,6); // September 6th 2018 -- Set the month one month behind since JavaScript dates are 0 based
let now = new Date();
if (now.getFullYear() > maxDate.getFullYear()) return false;
if (now.getFullYear() == maxDate.getFullYear()) {
if (now.getMonth() > maxDate.getMonth()) return false;
if (now.getMonth() == maxDate.getMonth()) {
if (now.getDate() > maxDate.getDate()) return false;
if (now.getDate() == maxDate.getDate()) {
if (now.getHours() > maxDate.getHours()) return false;
}
}
}
return true;
}
public get showCallToAction(): boolean {
let maxDate = new Date(2020,4,10); // July 8th 2018 -- Set the month one month behind since JavaScript dates are 0 based
let now = new Date();
@ -82,18 +60,8 @@ export class HomeComponent {
this.http.get<VideoServices>('assets/json/videoServices.json').subscribe(res => {
this.countdown = new Countdown(res.videos);
});
}
playVictoryGospelCrusade() {
const url = 'https://drive.google.com/file/d/1gPdCTLkJEtNWEyn_y8FQ78PaDi40MU7N/preview'
let opts = new MatDialogConfig;
opts.data = { title: 'Victory Gospel Crusade', embedUrl: url };
let dialog = this.dialog.open(YoutubePopupComponent, opts);
}
@HostListener('window:scroll', ['$event'])
onScroll(event){
let scrollTop = event.target.documentElement.scrollTop || event.target.body.scrollTop || window.pageYOffset;

View File

@ -1,7 +1,3 @@
.full-width {
width: 100%;
}
.m-5 {
margin: 5px;
}

View File

@ -31,7 +31,7 @@
{{error}}
</p>
</div>
<button mat-raised-button class="first m-5" (click)="cancel($event)" >Cancel</button><!--
--><button mat-raised-button class="m-5" type="submit" [disabled]="!addUserForm.form.valid || addUserButtonDisabled">{{ addUserButtonText }}</button>
<button mat-raised-button class="first" (click)="cancel($event)" >Cancel</button><!--
--><button mat-raised-button type="submit" [disabled]="!addUserForm.form.valid || addUserButtonDisabled">{{ addUserButtonText }}</button>
</form>
</div>

View File

@ -91,6 +91,6 @@ p.margin-bottom {
@media(max-width: 450px) {
.float-left {
width: 200px;
width: 175px
}
}

View File

@ -17,10 +17,9 @@
<img class="image shadow container-3-col" src="assets/images/home-images/tiny/church.jpg" alt="Church Image" />
</div>
<br><br>
<p ofbFadeInOnScroll class="section-header">Pastor Derek Loewen</p>
<div ofbFadeInOnScroll class="section-paragraph overflow-hidden">
<img class="float-left margin-right-10 border-radius-5" src="assets/images/tiny/pstr3.jpg" alt="Pastor Photo" width="350px" />
<img class="float-left margin-right-10 border-radius-5" src="assets/images/tiny/pstr.jpg" alt="Pastor Photo" width="225px" />
<p class="margin-bottom">
Pastor Derek Loewen heard the gospel for the first time when a friend invited him to
Florence Baptist Church in Florence, Montana. They rode the bus to Sunday School.
@ -30,10 +29,10 @@
</p>
<p class="margin-bottom">
During his senior year of high school, Pastor Loewen yielded his life to the Lord.
Upon graduation from Bible College in 2003, he served in the church he
Upon graduation from Crown College of the Bible in 2003, he served in the church he
was saved in as a young boy before marrying his bride, Rebecca in June 2004.
The Lord has graciously allowed them to serve Him together across the country both
assisting pastors and planting a church. God has blessed their home with 5 delightful
assisting pastors and planting a church. God has blessed their home with 3 delightful
children.
</p>
<p>

View File

@ -8,7 +8,7 @@ export const MISSIONARY_SUPPORT_CREATE_URL = environment.baseApi + "/missionary"
export const SERMONS_BY_ID = environment.baseUrl + '/api2/sermons/';
export const SERMONS_BY_PAGE_URL = environment.baseUrl + '/api2/sermons/page/';
export const SERMONS_BY_SEARCH_URL = environment.baseUrl + '/api2/sermons/search';
export const SERMON_MP3_BASE_URL = '/media/';
export const SERMON_MP3_BASE_URL = '//static.ofbbutte.com/media/';
export const SERMON_ADD_URL = environment.baseUrl + "/api2/sermons/a/";
export const SERMON_DELETE_URL = environment.baseUrl + "/api2/sermons/a/";
export const SERMON_UPDATE_URL = environment.baseUrl + "/api2/sermons/a/";

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 70 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View File

@ -2,5 +2,5 @@ export const environment = {
production: true,
environment: 'prod',
baseUrl: "",
baseApi: "https://api.ofbbutte.com"
baseApi: "https://ofbbutte.com/2/api"
};

View File

@ -2,6 +2,6 @@ export const environment = {
production: false,
environment: 'test',
baseUrl: "",
baseApi: "https://test.api.ofbbutte.com"
baseApi: "https://test.ofbbutte.com/2/api"
};

View File

@ -6,7 +6,7 @@ export const environment = {
production: false,
baseUrl: "http://localhost:25776",
//baseApi: "https://localhost:44314/api"
baseApi: "https://test.api.ofbbutte.com"
baseApi: "https://test.ofbbutte.com/2/api"
};
/*

View File

@ -29,8 +29,6 @@ console.log(wwwFolder);
app.use(express.static(wwwFolder));
app.use('/media', express.static('/media'));
app.get('/*', function (req, res) {
console.log(__dirname);
console.log(req.originalUrl);

View File

@ -1,7 +1,7 @@
var mysql = require("mysql");
module.exports = mysql.createConnection({
host: "mysql",
host: "172.17.0.1",
port: 3306,
user: "admin_ofbbutte",
password: "87hjdusiodksyeunsjkdis7",

View File

@ -23,7 +23,7 @@ exports.getAll = async function() {
}
exports.getByYear = async function(taxYear) {
const queryResult = await connectionAsync.query('SELECT * FROM Transactions WHERE DeletedDate IS NULL AND TaxYear = ? AND GoodsOrServices = 0 ORDER BY Date ASC;', taxYear);
const queryResult = await connectionAsync.query('SELECT * FROM Transactions WHERE DeletedDate IS NULL AND TaxYear = ? AND GoodsOrServices = 0;', taxYear);
const result = [];
if (queryResult && queryResult.rows && queryResult.rows.length > 0) {
for(var i = 0 ; i < queryResult.rows.length; i++) {

View File

@ -98,8 +98,7 @@ exports.createUser = async function(firstName, lastName, street, city, state, zi
Country: country,
EmailVerified: false,
Federated: false,
FederationCode: hash.createVerificationCode(),
Password: ''
FederationCode: hash.createVerificationCode()
};
const newUserResult = await connectionAsync.nonQuery('INSERT INTO Users Set ?', newUser);
return await this.getUser2(tempUserName);

View File

@ -7,8 +7,8 @@ let transporter = nodemailer.createTransport({
port: 587,
secure: false,
auth:{
user: 'mail@ofbbutte.com',
pass: '@2014OfbPwd'
user: 'app@ofbbutte.com',
pass: '(app&email*sender)Q1'
}
});

View File

@ -8,7 +8,7 @@ RUN npm install
COPY ./Client ./
RUN node --max_old_space_size=1536 node_modules/@angular/cli/bin/ng build --prod --verbose --configuration=production
RUN node node_modules/@angular/cli/bin/ng build --prod --configuration=production
WORKDIR /app

View File

@ -1,7 +1,6 @@
kind: pipeline
type: docker
name: default
steps:
- name: node
image: docker
@ -11,8 +10,7 @@ steps:
commands:
- docker build --tag ofb_angular .
- docker rm -f ofb_angular || true
- docker run --name=ofb_angular --network=proxy --restart always -v /root/apps/ofb/media:/media -d ofb_angular
- docker network connect mysql ofb_angular
- docker run --name ofb_angular --restart always -v /home/admin/web/static.ofbbutte.com/public_html/media:/media -d -p "8111:8111" ofb_angular
volumes:

77
git-post-receive 100644
View File

@ -0,0 +1,77 @@
#!/bin/sh
BRANCH=$1
BUILD_ANGULAR_ARG=$2
BUILD_ANGULAR=true
if [ "$BUILD_ANGULAR_ARG" = -ng ]; then
BUILD_ANGULAR=true
fi
echo "Build Angular = $BUILD_ANGULAR"
echo "Branch Name = $BRANCH"
if [ "$BRANCH" = test ]; then
cd /home/ofbbutte/webapps/ofb_angular_test/
fi
if [ "$BRANCH" = master ]; then
cd /home/ofbbutte/webapps/ofb_angular_node10/
fi
echo "Node Version"
bin/node --version
echo "NPM Version"
bin/node bin/npm --version --scripts-prepend-node-path
if [ "$BUILD_ANGULAR" = true ]; then
cd tempcheckout/Client
echo "Pruning Client Node Modules"
../../bin/node ../../bin/npm prune --silent --scripts-prepend-node-path
echo "Installing Client Node Modules"
../../bin/node ../../bin/npm install --silent --scripts-prepend-node-path
echo "Building Angular Application"
if [ "$BRANCH" = master ]; then
../../bin/node node_modules/@angular/cli/bin/ng build --prod --configuration=production
fi
if [ "$BRANCH" = test ]; then
../../bin/node node_modules/@angular/cli/bin/ng build --prod --configuration=test
fi
cd ../../
rm -r -f www/
mv tempcheckout/Server/www/ www/
else
echo "Skipping Building Angular Application"
fi
echo "Angular CLI Version"
bin/node tempcheckout/Client/node_modules/@angular/cli/bin/ng --version
cd tempcheckout/Server/src
echo "Pruning Server Node Modules"
../../../bin/node ../../../bin/npm prune --silent --scripts-prepend-node-path
echo "Installing Server Node Modules"
../../../bin/node ../../../bin/npm install --silent --scripts-prepend-node-path
cd ../../../
rm -r -f src/
mv tempcheckout/Server/src/ src/
echo "Remove start and stop script files"
rm -f bin/start
rm -f bin/stop
echo "Copying start and stop script files"
if [ "$BRANCH" = master ]; then
mv tempcheckout/Server/bin/start bin/start
mv tempcheckout/Server/bin/stop bin/stop
fi
if [ "$BRANCH" = test ]; then
mv tempcheckout/Server/bin/start_test bin/start
mv tempcheckout/Server/bin/stop_test bin/stop
fi
ls
echo "Modifying permissions on start and stop script files to be executable"
chmod +x bin/start
chmod +x bin/stop
echo "Running stop script file"
bin/stop
echo "Running start script file"
bin/start