Skip to content

Commit 35118ed

Browse files
committed
WIP: allow default settings to be defined in an override file.
WIP: allow default settings to be defined in an override file.
1 parent d815ed7 commit 35118ed

File tree

6 files changed

+11
-2
lines changed

6 files changed

+11
-2
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ conf/webwork3*.yml
3131
conf/apache2/webwork3-apache2.conf
3232
conf/apache2/webwork3.service
3333
conf/apache2/renderer.service
34+
conf/course_settings.yml
3435

3536
# Devel::Cover
3637
cover_db/

lib/WeBWorK3/Controller/Settings.pm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ sub checkTimeZone ($c) {
7272
} catch {
7373
$c->render(json => { valid_timezone => false });
7474
};
75+
return;
7576
}
7677

7778
1;

t/db/002_course_settings.t

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,9 @@ for my $setting (@$global_settings) {
180180

181181
# Ensure that booleans in the YAML file are loaded correctly.
182182
local $YAML::XS::Boolean = "JSON::PP";
183-
my $global_settings_from_file = LoadFile("$main::ww3_dir/conf/course_settings.yml");
183+
my $settings_file = "$main::ww3_dir/conf/course_settings.yml";
184+
$settings_file = "$main::ww3_dir/conf/course_settings.dist.yml" unless -r $settings_file;
185+
my $global_settings_from_file = LoadFile($settings_file);
184186

185187
# sort each of these for comparison
186188
my @global_settings = sort { $a->{setting_name} cmp $b->{setting_name} } @$global_settings;

t/db/build_db.pl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ sub addCourses {
8585

8686
sub addSettings {
8787
say 'adding default settings' if $verbose;
88+
8889
my $settings_file = "$main::ww3_dir/conf/course_settings.yml";
90+
$settings_file = "$main::ww3_dir/conf/course_settings.dist.yml" unless -r $settings_file;
91+
say $settings_file;
8992
die "The default settings file: '$settings_file' does not exist or is not readable"
9093
unless -r $settings_file;
9194
my $course_settings = LoadFile($settings_file);

tests/stores/settings.spec.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ describe('Test the settings store', () => {
3737
setActivePinia(pinia);
3838

3939
// Load the default settings
40-
const file = fs.readFileSync('conf/course_settings.yml', 'utf8');
40+
let settings_file = 'conf/course_settings.yml';
41+
if (!fs.existsSync(settings_file)) settings_file = 'conf/course_settings.dist.yml';
42+
const file = fs.readFileSync(settings_file, 'utf8');
4143
default_settings = parse(file) as ParseableGlobalSetting[];
4244

4345
// Fetch the course settings from the CSV file

0 commit comments

Comments
 (0)