Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. dolibarr - ERP & CRM for Business

dolibarr - ERP & CRM for Business

Scheduled Pinned Locked Moved Solved App Wishlist
44 Posts 10 Posters 6.7k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • girishG girish

    @erics said in dolibarr - ERP & CRM for Business:

    Note: i have a message on index.php "database install in progress please come back later"
    so here is what i try to do in test.js
    while(web index contains "database setup in progress")
    sleep(300)
    loop

    I think for the tests at least, it's fine to just sleep(20-30 seconds or whatever is for sure to work). Just do something like:

    function install(done) {
        execSync('cloudron install ...');
        console.log('waiting for 30 seconds for database setup to complete');
        setTimeout(done, 30 * 1000);
    }
    

    Regardless of the tests, if you have a "healthCheckPath" which is more reliable i.e it returns 2xx or 3xx http status only after db setup is complete and app is ready to use then you can put that in https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/CloudronManifest.json#L8 . If you have such a route in the app, then you don't need the sleep above. This also has the advantage that the user will see 'Running' in cloudron dashboard only when it's ready to use (otherwise, right now, he will see db is getting setup message).

    E Offline
    E Offline
    erics
    App Dev
    wrote on last edited by
    #16

    @girish so nice πŸ™‚

    for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

    Oct 07 23:39:56 box:shell clearVolume spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/clearvolume.sh clear /home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f/data
    Oct 07 23:39:56 box:backups download: Downloading 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3 of format tgz to {"localRoot":"/home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f","layout":[]}
    Oct 07 23:39:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
    Oct 07 23:39:23 Fresh installation, performing Dolibarr first time setup
    Oct 07 23:39:23 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.8. Set the 'ServerName' directive globally to suppress this message
    Oct 07 23:39:23 - STEP NΒ°1 ...
    Oct 07 23:39:24 [done]
    Oct 07 23:39:24 - STEP NΒ°2 ...
    Oct 07 23:39:24 [done]
    Oct 07 23:39:24 - STEP NΒ°3 ...
    Oct 07 23:40:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
    Oct 07 23:40:36 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
    Oct 07 23:40:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
    Oct 07 23:41:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
    Oct 07 23:41:16 box:backups downloadApp: time: 80.01
    Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr error installing app: BoxError: Cannot download from noop backend
    Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr updating app with values: {"installationState":"error","error":{"message":"Cannot download from noop backend","reason":"Not implemented","taskId":"93","installationState":"pending_restore"}}
    Oct 07 23:41:16 box:taskworker Task took 103.994 seconds
    Oct 07 23:41:16 box:tasks setCompleted - 93: {"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
    Oct 07 23:41:16 box:tasks 93: {"percent":100,"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
    
    girishG 1 Reply Last reply
    0
    • girishG girish

      @erics said in dolibarr - ERP & CRM for Business:

      Note: i have a message on index.php "database install in progress please come back later"
      so here is what i try to do in test.js
      while(web index contains "database setup in progress")
      sleep(300)
      loop

      I think for the tests at least, it's fine to just sleep(20-30 seconds or whatever is for sure to work). Just do something like:

      function install(done) {
          execSync('cloudron install ...');
          console.log('waiting for 30 seconds for database setup to complete');
          setTimeout(done, 30 * 1000);
      }
      

      Regardless of the tests, if you have a "healthCheckPath" which is more reliable i.e it returns 2xx or 3xx http status only after db setup is complete and app is ready to use then you can put that in https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/CloudronManifest.json#L8 . If you have such a route in the app, then you don't need the sleep above. This also has the advantage that the user will see 'Running' in cloudron dashboard only when it's ready to use (otherwise, right now, he will see db is getting setup message).

      E Offline
      E Offline
      erics
      App Dev
      wrote on last edited by
      #17

      @girish healthCheckPath is PERFECT !

      1 Reply Last reply
      0
      • E erics

        @girish so nice πŸ™‚

        for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

        Oct 07 23:39:56 box:shell clearVolume spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/clearvolume.sh clear /home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f/data
        Oct 07 23:39:56 box:backups download: Downloading 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3 of format tgz to {"localRoot":"/home/yellowtent/appsdata/773326e5-e8f3-490c-8147-76c35839873f","layout":[]}
        Oct 07 23:39:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
        Oct 07 23:39:23 Fresh installation, performing Dolibarr first time setup
        Oct 07 23:39:23 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.8. Set the 'ServerName' directive globally to suppress this message
        Oct 07 23:39:23 - STEP NΒ°1 ...
        Oct 07 23:39:24 [done]
        Oct 07 23:39:24 - STEP NΒ°2 ...
        Oct 07 23:39:24 [done]
        Oct 07 23:39:24 - STEP NΒ°3 ...
        Oct 07 23:40:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
        Oct 07 23:40:36 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
        Oct 07 23:40:56 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
        Oct 07 23:41:16 box:storage/noop download: 2020-10-07-213836-698/app_92291923-34a2-4ca0-9637-430e75e3f679_2020-10-07-213838-779_v0.1.3.tar.gz
        Oct 07 23:41:16 box:backups downloadApp: time: 80.01
        Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr error installing app: BoxError: Cannot download from noop backend
        Oct 07 23:41:16 box:apptask test.xxxxxxxxxxx.fr updating app with values: {"installationState":"error","error":{"message":"Cannot download from noop backend","reason":"Not implemented","taskId":"93","installationState":"pending_restore"}}
        Oct 07 23:41:16 box:taskworker Task took 103.994 seconds
        Oct 07 23:41:16 box:tasks setCompleted - 93: {"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
        Oct 07 23:41:16 box:tasks 93: {"percent":100,"result":null,"error":{"stack":"BoxError: Cannot download from noop backend\n at Object.download (/home/yellowtent/box/src/storage/noop.js:59:14)\n at /home/yellowtent/box/src/backups.js:774:40\n at Timeout.retryAttempt [as _onTimeout] (/home/yellowtent/box/node_modules/async/dist/async.js:4611:9)\n at ontimeout (timers.js:436:11)\n at tryOnTimeout (timers.js:300:5)\n at listOnTimeout (timers.js:263:5)\n at Timer.processTimers (timers.js:223:10)","name":"BoxError","reason":"Not implemented","details":{},"message":"Cannot download from noop backend"}}
        
        girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #18

        @erics said in dolibarr - ERP & CRM for Business:

        for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

        Looks like the Cloudron server which you are installing/testing this on has backups disabled! Go to Backups -> change to file system or something. Without backups, one cannot restore.

        E 1 Reply Last reply
        0
        • girishG girish

          @erics said in dolibarr - ERP & CRM for Business:

          for the moment i have an other problem with "App restore error: Installation failed: Cannot download from noop backend"

          Looks like the Cloudron server which you are installing/testing this on has backups disabled! Go to Backups -> change to file system or something. Without backups, one cannot restore.

          E Offline
          E Offline
          erics
          App Dev
          wrote on last edited by erics
          #19

          @girish yes (i'm) so stupid i just found it now πŸ™‚

          1 Reply Last reply
          0
          • E Offline
            E Offline
            erics
            App Dev
            wrote on last edited by
            #20

            New question : does ".lock" files could be excluded from backups ?

            when dolibarr install is complete a install.lock file is created, but when cloudron backup is restaured this file is missing ...

            E 1 Reply Last reply
            0
            • E erics

              New question : does ".lock" files could be excluded from backups ?

              when dolibarr install is complete a install.lock file is created, but when cloudron backup is restaured this file is missing ...

              E Offline
              E Offline
              erics
              App Dev
              wrote on last edited by
              #21

              ok, i switched from install.lock to .dbsetup file like wordpress and hoooraaa it works πŸ™‚

              new problem during autotest: database error on test2 + restoring data ... next step tomorrow !

              E 1 Reply Last reply
              0
              • E erics

                ok, i switched from install.lock to .dbsetup file like wordpress and hoooraaa it works πŸ™‚

                new problem during autotest: database error on test2 + restoring data ... next step tomorrow !

                E Offline
                E Offline
                erics
                App Dev
                wrote on last edited by
                #22
                00:41 $ USERNAME=cloudronusername PASSWORD=cloudronpassword node_modules/.bin/mocha --bail test.js
                
                  Application life cycle test
                    - build app
                    installation and configuration
                App is being installed.
                
                 => Queued 
                 => Cleaning up old install 
                 => Downloading image ..........
                 => Creating container .
                 => Wait for health check .........................................
                
                App is installed.
                      βœ“ install app (61950ms)
                      βœ“ can get app information (475ms)
                      βœ“ can view welcome page (812ms)
                      βœ“ can login (2045ms)
                
                 => Queued 
                 => Snapshotting app test.example.com 
                 => Uploading app snapshot test.example.com 
                 => Uploading backup 1M@1MBps (test.example.com) 
                
                App is backed up
                      βœ“ backup app (5252ms)
                
                 => Waiting for app to be uninstalled 
                 => Queued 
                 => Deleting container 
                 => Teardown addons ...
                 => Unregistering domains 
                
                App test.example.com successfully uninstalled.
                App is being installed.
                
                 => Queued 
                 => Cleaning up old install 
                 => Downloading image .........
                 => Creating container ..
                 => Wait for health check ............................................................
                
                App is installed.
                
                 => Queued 
                 => Cleaning up old install 
                 => Registering subdomains 
                 => Downloading image 
                 => Download backup and restoring addons ........
                 => Downloading 1M@1MBps ...................
                 => Creating container 
                 => Waiting for DNS propagation 
                 => Wait for health check 
                
                App is restored
                      βœ“ restore app (131164ms)
                
                 => Queued 
                 => Cleaning up old install .
                 => Registering subdomains .
                 => Creating container 
                 => Wait for health check ..
                
                App configured
                      βœ“ move to different location (10705ms)
                      βœ“ can access dashboard (508ms)
                
                 => Waiting for app to be uninstalled 
                 => Queued 
                 => Deleting container 
                 => Teardown addons ........
                 => Deleting image 
                 => Unregistering domains 
                
                App test2.example.com successfully uninstalled.
                      βœ“ uninstall app (15220ms)
                    update
                Failed to get app info from store: 404 message: No such app
                      1) can install app
                
                
                  9 passing (4m)
                  1 pending
                  1 failing
                
                  1) Application life cycle test
                       update
                         can install app:
                     Error: Command failed: cloudron install --appstore-id org.dolibarr.cloudronapp --location test
                      at checkExecSyncError (child_process.js:630:11)
                      at execSync (child_process.js:666:15)
                      at Context.<anonymous> (test.js:195:13)
                      at processImmediate (internal/timers.js:456:21)
                
                
                1 Reply Last reply
                1
                • girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by girish
                  #23

                  @erics Great progress so far! I guess we need to publish the app to the appstore for the update test to work. Let me do that right now.

                  BTW, just a quick note: If there is some upgrade script that needs to be run, we have to do it in the else clause of https://git.cloudron.io/cloudron/dolibarr-app/-/blob/master/start.sh#L14 . Or does dolibarr automatically update/run new db migrations on first run of new version?

                  1 Reply Last reply
                  1
                  • girishG Offline
                    girishG Offline
                    girish
                    Staff
                    wrote on last edited by
                    #24

                    @erics It's published as unstable now. You can try the update test now.

                    E 2 Replies Last reply
                    2
                    • girishG girish

                      @erics It's published as unstable now. You can try the update test now.

                      E Offline
                      E Offline
                      erics
                      App Dev
                      wrote on last edited by erics
                      #25

                      @girish excellent, i will continue a bit later.

                      just a note about git (https://git.cloudron.io/cloudron/dolibarr-app) : i don't have write access so i made a merge request wich is "Ready to be merged automatically. Ask someone with write access to this repository to merge this request "

                      girishG 1 Reply Last reply
                      0
                      • girishG girish

                        @erics It's published as unstable now. You can try the update test now.

                        E Offline
                        E Offline
                        erics
                        App Dev
                        wrote on last edited by
                        #26

                        @girish that's pleasant :

                        00:45 $ USERNAME=cloudronusername PASSWORD=cloudronpassword node_modules/.bin/mocha --bail test.js
                        Application life cycle test
                        - build app
                        installation and configuration
                        App is being installed.

                        => Queued
                        => Cleaning up old install
                        => Downloading image ........................
                        => Creating container .
                        => Wait for health check ......................................

                        App is installed.
                        βœ“ install app (74925ms)
                        βœ“ can get app information (566ms)
                        βœ“ can view welcome page (860ms)
                        βœ“ can login (2159ms)

                        => Queued
                        => Snapshotting app test.example.com
                        => Uploading app snapshot test.example.com

                        App is backed up
                        βœ“ backup app (4109ms)

                        => Waiting for app to be uninstalled
                        => Queued
                        => Deleting container
                        => Teardown addons ...
                        => Deleting image

                        App test.example.com successfully uninstalled.
                        App is being installed.

                        => Queued
                        => Cleaning up old install
                        => Downloading image .........
                        => Creating container .
                        => Configuring reverse proxy
                        => Wait for health check ................................

                        App is installed.

                        => Queued
                        => Cleaning up old install
                        => Registering subdomains
                        => Downloading image
                        => Download backup and restoring addons ..
                        => Downloading 1M@1MBps .........
                        => Creating container .
                        => Wait for health check ........

                        App is restored
                        βœ“ restore app (92784ms)

                        => Queued
                        => Cleaning up old install .
                        => Creating container
                        => Waiting for DNS propagation
                        => Wait for health check ..

                        App configured
                        βœ“ move to different location (9759ms)
                        βœ“ can access dashboard (477ms)

                        => Waiting for app to be uninstalled
                        => Queued
                        => Deleting container
                        => Teardown addons ...
                        => Unregistering domains

                        App test2.example.com successfully uninstalled.
                        βœ“ uninstall app (8769ms)
                        update
                        App is being installed.

                        => Queued
                        => Downloading icon
                        => Registering subdomains
                        => Downloading image
                        => Creating container
                        => Wait for health check ..

                        App is installed.
                        βœ“ can install app (11025ms)
                        βœ“ can get app information (564ms)
                        βœ“ can view welcome page (308ms)

                        => Waiting for app to be uninstalled
                        => Queued
                        => Deleting container ..........
                        => Teardown addons ......
                        => Unregistering domains

                        App test.example.com successfully uninstalled.
                        βœ“ uninstall app (22671ms)

                        13 passing (4m)
                        1 pending

                        1 Reply Last reply
                        1
                        • luckowL Online
                          luckowL Online
                          luckow
                          translator
                          wrote on last edited by
                          #27

                          Thank you for the packaging of dolibarr.
                          My first 2 cents: let us define, that first language has to be english. It took me around 5 minutes to find out where I can switch from french to english πŸ™‚

                          Pronouns: he/him | Primary language: German

                          girishG 1 Reply Last reply
                          4
                          • E erics

                            @girish excellent, i will continue a bit later.

                            just a note about git (https://git.cloudron.io/cloudron/dolibarr-app) : i don't have write access so i made a merge request wich is "Ready to be merged automatically. Ask someone with write access to this repository to merge this request "

                            girishG Offline
                            girishG Offline
                            girish
                            Staff
                            wrote on last edited by
                            #28

                            @erics said in dolibarr - ERP & CRM for Business:

                            just a note about git (https://git.cloudron.io/cloudron/dolibarr-app) : i don't have write access so i made a merge request wich is "Ready to be merged automatically. Ask someone with write access to this repository to merge this request "

                            Can you please check now? I made you a maintainer of the project.

                            1 Reply Last reply
                            0
                            • luckowL luckow

                              Thank you for the packaging of dolibarr.
                              My first 2 cents: let us define, that first language has to be english. It took me around 5 minutes to find out where I can switch from french to english πŸ™‚

                              girishG Offline
                              girishG Offline
                              girish
                              Staff
                              wrote on last edited by
                              #29

                              @luckow said in dolibarr - ERP & CRM for Business:

                              My first 2 cents: let us define, that first language has to be english. It took me around 5 minutes to find out where I can switch from french to english

                              Ha ha, yes, please πŸ™‚ Would be great if the tests also look for english strings so @nebulon and I can easily continue to maintain it.

                              I did give dolibarr a quick run yesterday, I am looking forward to using it for Cloudron the company as well.

                              E 2 Replies Last reply
                              1
                              • girishG girish

                                @luckow said in dolibarr - ERP & CRM for Business:

                                My first 2 cents: let us define, that first language has to be english. It took me around 5 minutes to find out where I can switch from french to english

                                Ha ha, yes, please πŸ™‚ Would be great if the tests also look for english strings so @nebulon and I can easily continue to maintain it.

                                I did give dolibarr a quick run yesterday, I am looking forward to using it for Cloudron the company as well.

                                E Offline
                                E Offline
                                erics
                                App Dev
                                wrote on last edited by
                                #30

                                Ok i will have a look for language.

                                i was imagine by default that it was auto detect from browser locale ...

                                Thanks for this first "bug report" i mean πŸ™‚

                                1 Reply Last reply
                                2
                                • girishG girish

                                  @luckow said in dolibarr - ERP & CRM for Business:

                                  My first 2 cents: let us define, that first language has to be english. It took me around 5 minutes to find out where I can switch from french to english

                                  Ha ha, yes, please πŸ™‚ Would be great if the tests also look for english strings so @nebulon and I can easily continue to maintain it.

                                  I did give dolibarr a quick run yesterday, I am looking forward to using it for Cloudron the company as well.

                                  E Offline
                                  E Offline
                                  erics
                                  App Dev
                                  wrote on last edited by erics
                                  #31

                                  @girish @luckow done πŸ™‚ install is now multilang and based on browser-locale ! please wait for one or two min i will push that code on git ! (thanks @girish now i can write on main git repo).

                                  1 Reply Last reply
                                  4
                                  • scookeS Offline
                                    scookeS Offline
                                    scooke
                                    wrote on last edited by
                                    #32

                                    Amazing! You are all simply amazing!

                                    A life lived in fear is a life half-lived

                                    1 Reply Last reply
                                    3
                                    • girishG Offline
                                      girishG Offline
                                      girish
                                      Staff
                                      wrote on last edited by girish
                                      #33

                                      @erics I made a new build and published a new version. BTW, if dolibarr sends emails, we need to configure email somewhere using the CLOUDRON_MAIL_* env vars

                                      E 2 Replies Last reply
                                      0
                                      • girishG girish

                                        @erics I made a new build and published a new version. BTW, if dolibarr sends emails, we need to configure email somewhere using the CLOUDRON_MAIL_* env vars

                                        E Offline
                                        E Offline
                                        erics
                                        App Dev
                                        wrote on last edited by
                                        #34

                                        @girish yes that's my next step πŸ™‚

                                        E 1 Reply Last reply
                                        0
                                        • girishG girish

                                          @erics I made a new build and published a new version. BTW, if dolibarr sends emails, we need to configure email somewhere using the CLOUDRON_MAIL_* env vars

                                          E Offline
                                          E Offline
                                          erics
                                          App Dev
                                          wrote on last edited by
                                          #35
                                          This post is deleted!
                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search