dh_ackergaul
vor 3 Tagen bb80cdf5a6157ca1f3a276e12e9faae9a4739cb7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
 * TurboFurnviewController.js
 *
 * This controller handles the mode for a live session with furnplan
 */
const FurnplanInstanceHistoryService = require("../services/FurnplanInstaceHistoryService.js");
 
const { addStorePermission } = require("../services/UseCaseConfigurationStorePermissionService");
 
module.exports = {
 
    /**
     * Index page
     */
    index: async function (req, res) {
 
        const configuration = await ConfigurationManager.newConfiguration();
        let configID = "";
 
        let query = {
            customerNo: req.user.customerNo,
            externalConf: true
        };
 
        query = await addStorePermission(query, req.user.customerNo);
 
        const externalConfiguration = await UseCaseConfiguration.findOne(query);
 
        if (externalConfiguration && externalConfiguration.configuration) {
            ConfigurationManager.merge(configuration, externalConfiguration);
            configID = externalConfiguration._id;
        }
 
        configuration.enable_app_connection_data = true;
        configuration.show_price = true;
        configuration.furnplan_price_list = true;
 
        await FurnplanInstanceHistoryService.writeDocument(req.query.session, req.user.customerNo, req.url, configID, "Regular", req.headers["user-agent"] || req.headers["User-Agent"] || "");
 
        AdminSession
            .findOne({ user: req.user.username ? req.user.username.toLowerCase() : "" })
            .then(function (adminSession) {
                if (adminSession) {
                    configuration.panel_left_show = true;
                }
 
                if (req.query["furnview-app"]) {
                    configuration.toolbar_button_furnview_app = true;
                }
                configuration.camera_vector_special = false;
                configuration.disable_move_x_object = false;
                configuration.furnplan_price_list = true;
                if (req.query.kiosk) {
                    ConfigurationManager.setKioskMode(configuration);
                }
            })
            .catch(function (error) {
                console.log("Unable to retrieve admin sessions: " + error);
            })
            .finally(function () {
                StartupManager.setStartup(req, res, configuration);
 
                let path = "turbofurnview/index";
                if (configuration.enable_wizard) path = "wizard/view";
                return res.view(path, {
                    g_configuration: configuration,
                    g_manufacturer: "",
                    g_article: "",
                    g_sessionId: req.query.session,
                    g_language: req.query.lang || req.getLocale(),
                    g_reCaptcha: Config.furnview.reCaptchaSiteKey || "",
                    production_mode: sails.config.environment === "production"
                });
            });
    }
};