Skip to content

Commit

Permalink
Up
Browse files Browse the repository at this point in the history
Bind Required entering country
  • Loading branch information
Litalino committed Jan 30, 2024
1 parent 9f8fd0b commit 1d452ca
Show file tree
Hide file tree
Showing 12 changed files with 51 additions and 14 deletions.
7 changes: 3 additions & 4 deletions extend.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,16 @@
(new Extend\Settings())
->serializeToForum('justoverclock-country-flags.showFlagsOnPosts', 'justoverclock-country-flags.showFlagsOnPosts', 'boolval', false)
->serializeToForum('justoverclock-country-flags.showFlagsOnPosts_text', 'justoverclock-country-flags.showFlagsOnPosts_text', 'boolval', false)
->serializeToForum('justoverclock-country-flags.setCountryFlagsOnRegistration', 'justoverclock-country-flags.set_on_registration', 'boolval'),
->serializeToForum('justoverclock-country-flags.setCountryFlagsOnRegistration', 'justoverclock-country-flags.set_on_registration', 'boolval')
->serializeToForum('justoverclock-country-flags.setCountryBindLogin', 'justoverclock-country-flags.bind_login', 'boolval'),

(new Extend\Event())
->listen(Saving::class, SaveCountryCodeToDatabase::class),

(new Extend\ApiSerializer(UserSerializer::class))
->attributes(AddCountryFlagAttributes::class),

//(new Extend\Event)
// ->listen(Saving::class, ValidateCountryFlag::class),

(new Extend\Validator(UserValidator::class))
->configure(CountryFlagValidation::class),

];
2 changes: 1 addition & 1 deletion js/dist/admin.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion js/dist/admin.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion js/dist/forum.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion js/dist/forum.js.map

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions js/src/admin/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ app.initializers.add('litalino/flarum-country-flags', () => {
label: app.translator.trans('justoverclock-country-flags.admin.required_label'),
help: app.translator.trans('justoverclock-country-flags.admin.required_help'),
})
.registerSetting({
setting: 'justoverclock-country-flags.bind_login',
type: 'boolean',
label: app.translator.trans('justoverclock-country-flags.admin.bind_label'),
help: app.translator.trans('justoverclock-country-flags.admin.bind_help'),
})
extend(UserListPage.prototype, 'columns', function (items) {
items.add(
'country',
Expand Down
25 changes: 24 additions & 1 deletion js/src/forum/index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import app from 'flarum/forum/app';
import {extend} from 'flarum/common/extend';
import {extend, override} from 'flarum/common/extend';
import SettingsPage from 'flarum/forum/components/SettingsPage';
import User from 'flarum/common/models/User';
import Model from 'flarum/common/Model';
Expand All @@ -12,9 +12,30 @@ import CommentPost from 'flarum/forum/components/CommentPost';
import Stream from "flarum/common/utils/Stream";
import SignUpModal from "flarum/forum/components/SignUpModal";

import WelcomeHero from 'flarum/forum/components/WelcomeHero';

app.initializers.add('litalino/user-country-info', () => {
User.prototype.countryCode = Model.attribute('countryCode');

//Binding Login
override(WelcomeHero.prototype, 'view', function (original) {
if (app.session.user && app.session.user.isEmailConfirmed()) {
if (app.session.user.data.attributes.countryCode != null && app.session.user.data.attributes.countryCode != '') {
return original();
}
if (app.forum.attribute('justoverclock-country-flags.setCountryBindLogin') === true) {
return m("div.Alert", [
m("div.container", [
m("span.alert-danger", app.translator.trans('justoverclock-country-flags.forum.binding_country')),
m("a.bind.Button--primary[href='/settings']", app.translator.trans('justoverclock-country-flags.forum.binding_country_click'))
])
]);
}
}
return original();
});

//Info Items
extend(SettingsPage.prototype, 'settingsItems', function (items) {
items.add('countryFlag', <AddCountryCodeField/>);
});
Expand Down Expand Up @@ -57,6 +78,8 @@ app.initializers.add('litalino/user-country-info', () => {
data.countryCode = this.countryCode();
}
});

//Header Items
extend(CommentPost.prototype, 'headerItems', function (items) {
if (app.forum.attribute('justoverclock-country-flags.showFlagsOnPosts') === true) {
if (app.forum.attribute('justoverclock-country-flags.showFlagsOnPosts_text') === true) {
Expand Down
Loading

0 comments on commit 1d452ca

Please sign in to comment.