diff --git a/app/coffee/app.coffee b/app/coffee/app.coffee index 8fa21747..f3e3bfbb 100644 --- a/app/coffee/app.coffee +++ b/app/coffee/app.coffee @@ -193,6 +193,7 @@ modules = [ "taigaNavMenu", "taigaProject", "taigaUserSettings", + "taigaPlugins", # Vendor modules "ngRoute", diff --git a/app/coffee/modules/auth.coffee b/app/coffee/modules/auth.coffee index bc59efd5..87131eaf 100644 --- a/app/coffee/modules/auth.coffee +++ b/app/coffee/modules/auth.coffee @@ -188,9 +188,6 @@ module.directive("tgLogin", ["$tgAuth", "$tgConfirm", "$tgLocation", "$tgConfig" RegisterDirective = ($auth, $confirm, $location, $config, $navUrls) -> link = ($scope, $el, $attrs) -> - $scope.privacyPolicyUrl = $config.get("privacyPolicyUrl") - $scope.termsOfServiceUrl = $config.get("termsOfServiceUrl") - $scope.data = {} form = $el.find("form").checksley() @@ -313,9 +310,6 @@ module.directive("tgChangePasswordFromRecovery", ["$tgAuth", "$tgConfirm", "$tgL InvitationDirective = ($auth, $confirm, $location, $params, $config, $navUrls) -> link = ($scope, $el, $attrs) -> - $scope.privacyPolicyUrl = $config.get("privacyPolicyUrl") - $scope.termsOfServiceUrl = $config.get("termsOfServiceUrl") - token = $params.token promise = $auth.getInvitation(token) diff --git a/config/main.coffee.example b/app/config/main.coffee.example similarity index 82% rename from config/main.coffee.example rename to app/config/main.coffee.example index e44e4470..c9ac04a6 100644 --- a/config/main.coffee.example +++ b/app/config/main.coffee.example @@ -6,11 +6,12 @@ config = { defaultLanguage: "en" languageOptions: { - "es": "Spanish" "en": "English" } pubblicRegisterEnabled: true + privacyPolicyUrl: null + termsOfServiceUrl: null } angular.module("taigaLocalConfig", []).value("localconfig", config) diff --git a/app/partials/views/modules/invitation-register-form.jade b/app/partials/views/modules/invitation-register-form.jade index a64c303a..ec53132f 100644 --- a/app/partials/views/modules/invitation-register-form.jade +++ b/app/partials/views/modules/invitation-register-form.jade @@ -21,14 +21,4 @@ form.register-form a.button.button-register.button-gray(href="", title="Sign up") Sign up input(type="submit", style="display:none") - p.register-text(ng-if="termsOfServiceUrl && privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="termsOfServiceUrl", title="See terms of service", target="_blank") terms of service - span and - a(tg-bo-href="privacyPolicyUrl", title="See privacy policy", target="_blank") privacy policy. - p.register-text(ng-if="termsOfServiceUrl && !privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="termsOfServiceUrl", title="See terms of service", target="_blank") terms of service - p.register-text(ng-if="!termsOfServiceUrl && privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="privacyPolicyUrl", title="See privacy policy", target="_blank") privacy policy. + tg-terms-notice diff --git a/app/partials/views/modules/register-form.jade b/app/partials/views/modules/register-form.jade index c44fa6a3..4c640a16 100644 --- a/app/partials/views/modules/register-form.jade +++ b/app/partials/views/modules/register-form.jade @@ -22,16 +22,7 @@ div.register-form-container(tg-register) a.button.button-register.button-gray(href="", title="Sign up") Sign up input(type="submit", class="hidden") - p.register-text(ng-if="termsOfServiceUrl && privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="termsOfServiceUrl", title="See terms of service", target="_blank") terms of service - span and - a(tg-bo-href="privacyPolicyUrl", title="See privacy policy", target="_blank") privacy policy. - p.register-text(ng-if="termsOfServiceUrl && !privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="termsOfServiceUrl", title="See terms of service", target="_blank") terms of service - p.register-text(ng-if="!termsOfServiceUrl && privacyPolicyUrl") - span By clicking "Sign up", you agree to our
- a(tg-bo-href="privacyPolicyUrl", title="See privacy policy", target="_blank") privacy policy. + // Only displays terms notice when terms plugin is loaded. + tg-terms-notice a.register-text-top(href="", title="Login", tg-nav="login") Are you already registered? Log in diff --git a/app/plugins/.hidden b/app/plugins/.hidden new file mode 100644 index 00000000..e69de29b diff --git a/app/plugins/main.coffee b/app/plugins/main.coffee new file mode 100644 index 00000000..e43cd966 --- /dev/null +++ b/app/plugins/main.coffee @@ -0,0 +1,22 @@ +### +# Copyright (C) 2014 Andrey Antukh +# Copyright (C) 2014 Jesús Espino Garcia +# Copyright (C) 2014 David Barragán Merino +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +# File: pluggins/main.coffee +### + +module = angular.module("taigaPlugins", []) diff --git a/app/plugins/terms/terms.coffee b/app/plugins/terms/terms.coffee new file mode 100644 index 00000000..ef4fa4d2 --- /dev/null +++ b/app/plugins/terms/terms.coffee @@ -0,0 +1,53 @@ +### +# Copyright (C) 2014 Andrey Antukh +# Copyright (C) 2014 Jesús Espino Garcia +# Copyright (C) 2014 David Barragán Merino +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +# File: plugins/terms/terms.coffee +### + +taiga = @.taiga + +module = angular.module("taigaPlugins") + +template = _.template(""" +

+ By clicking "Sign up", you agree to our
+ terms of service + and + privacy policy. +

""") + + +TermsNoticeDirective = ($config) -> + privacyPolicyUrl = $config.get("privacyPolicyUrl") + termsOfServiceUrl = $config.get("termsOfServiceUrl") + + templateFn = -> + if not (privacyPolicyUrl and termsOfServiceUrl) + return "" + + ctx = {termsUrl: termsOfServiceUrl, privacyUrl: privacyPolicyUrl} + return template(ctx) + + return { + scope: {} + restrict: "AE" + template: templateFn + } + + +module.directive("tgTermsNotice", ["$tgConfig", TermsNoticeDirective]) diff --git a/gulpfile.coffee b/gulpfile.coffee index 4a972ca9..5f510020 100644 --- a/gulpfile.coffee +++ b/gulpfile.coffee @@ -36,7 +36,7 @@ paths = { images: "app/images/**/*" locales: "app/locales/**/*.json" coffee: ["app/coffee/app.coffee", - "config/main.coffee", + "app/config/*.coffee", "app/coffee/*.coffee", "app/coffee/modules/controllerMixins.coffee", "app/coffee/modules/*.coffee", @@ -53,7 +53,8 @@ paths = { "app/coffee/modules/locales/*.coffee", "app/coffee/modules/base/*.coffee", "app/coffee/modules/resources/*.coffee", - "app/coffee/modules/user-settings/*.coffee"] + "app/coffee/modules/user-settings/*.coffee" + "app/plugins/**/*.coffee"] vendorJsLibs: [ "app/vendor/jquery/dist/jquery.js", "app/vendor/lodash/dist/lodash.js", @@ -75,7 +76,8 @@ paths = { "app/vendor/jquery-textcomplete/jquery.textcomplete.js", "app/vendor/markitup/markitup/jquery.markitup.js" "app/js/jquery.ui.git.js", - "app/js/sha1.js" + "app/js/sha1.js", + "app/plugins/**/*.js" ] }